思路
使用递归的方式,实现全组合。使用的公式 C(m, n) = C(m-1, n-1) + C(m, n-1);
代码
public void recursion(int index, int count, String str) { //对 begin - end 之间的数字进行全组合
if (count == 0) {
list.add(str);
return;
}
if (count >= (data.length - index + 1)) {
return;
}
//首先不包含 index 这个元素
recursion(index + 1, count, str);
// data[index]; 包含这个元素
str += data[index];
recursion(index + 1, count - 1, str);
}