public static void main(String[] args) {
System.out.println(">>> result count:" + method(6, 3))
}
public static int method(int n, int k) {
List<List<Integer>> list = new ArrayList<>()
for (int i = 0 i < k i++) {
if (i == 0) {
for (int j = 1 j < n j++) {
List<Integer> li = new ArrayList<>()
li.add(j)
list.add(li)
铅纤 }
continue
}
List<List<Integer>> listNew = new ArrayList<>()
for (List<Integer> integers : list) {
for (int j = integers.get(integers.size() - 1) j < n j++) {
陆雹 List<Integer> li = new ArrayList<>()
li.addAll(integers)
li.add(j)
listNew.add(li)
早激帆 if (i + 1 == k) {
int res = 0
for (Integer integer : li) {
res += integer
}
if (res != n) {
listNew.remove(li)
}
}
}
}
list.clear()
list.addAll(listNew)
}
for (List<Integer> integers : list) {
for (Integer integer : integers) {
System.out.print(integer + "\t")
}
System.out.println()
}
return list.size()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)