/**
* 求数组中 k个元素序列 的所有组合
* @param start
* @param array
* @param length
* @param k
* @param list
* @param used
* @param res
*/
public static void dfs(int start, int[] array, int length, int k,
List<Integer> list, boolean[] used, List<List<Integer>> res) {
if (k == 0) {
res.add(new ArrayList<>(list));
return;
}
for (int i=start; i<length; i++) {
if (used[i]) continue;
used[i] = true;
list.add(array[i]);
dfs(i, array, length, k-1, list, used, res);
list.remove(list.size()-1);
used[i] = false;
}
}
求数组中k个数的所有组合
最新推荐文章于 2022-04-02 13:32:52 发布