二刷hot100-78.子集
2026/6/6 4:27:06 网站建设 项目流程

回溯算法,和全排列类似,不同的是,用一个指针取代了used数组;

终止条件:当指针=数组长度,返回

遍历过程中,初始值为传入的指针,还是先将当前数组元素加入path,进入递归,不同的是传入的指针值加1,递归回来实现回溯,path删除元素;

class Solution { List<List<Integer>> res = new ArrayList<>(); List<Integer> path = new ArrayList<>(); public List<List<Integer>> subsets(int[] nums) { f(nums,0); return res; } public void f(int[] nums,int index){ res.add(new ArrayList<>(path)); if(index == nums.length){ return; } for(int i = index;i < nums.length;i++){ path.add(nums[i]); f(nums,i + 1); path.remove(path.size() - 1); } } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询