, , , , , . , , , , . , , , , , .
. 123 23, 23 , 3, 3. 2 , 2, 3 2 , 23. 1 , 1, 2, 3 1, 23, 1 , 12, 3 123.
, , . List arrayList, . , . , -. , List , List . .
public ArrayList<ArrayList<Integer>> findCombos(String input)
{
ArrayList<ArrayList<Integer>> answer = new ArrayList<ArrayList<Integer>>();
if(input.length()==1)
{
ArrayList<Integer> combo = new ArrayList<Integer>();
answer.add(combo);
combo.add(Integer.parseInt(input));
return answer;
}
else
{
answer = findCombos(input.substring(1));
int size = answer.size();
for(int i=0;i<size;i++)
{
ArrayList<Integer> copy = new ArrayList<Integer>(answer.get(i));
answer.add(copy);
}
int digit = (char)(input.charAt(0)-'0');
for(int i=0;i<size;i++)
answer.get(i).add(0, digit);
for(int i=size;i<answer.size();i++)
{
String copy = "" + answer.get(i).get(0);
int append = (int)(digit*Math.pow(10, copy.length()));
answer.get(i).set(0, append+answer.get(i).get(0));
}
return answer;
}
}