アルゴリズム:全結合
1486 ワード
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Demo {
private List<String> ITEM = Arrays.asList("1", "2", "3");
private int SIZE = 3;
public void array() {
List<String> data = new ArrayList<String>();
for (int i = 1; i <= SIZE; i++) {
array(data, ITEM, "", i);
}
for (String str : data) {
System.out.println(str);
}
}
public void array(List<String> data, List<String> item, String prefix, int len) {
if (prefix.length() == len) {
data.add(prefix);
return;
}
for (int i = 0; i < item.size(); i++) {
List<String> tmp = new ArrayList<String>(item);
array(data, tmp, prefix + tmp.get(i), len);
}
}
}
1
2
3
11
12
13
21
22
23
31
32
33
111
112
113
121
122
123
131
132
133
211
212
213
221
222
223
231
232
233
311
312
313
321
322
323
331
332
333