本文主要是介绍day-47 子集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路
利用深度优先遍历算法,对于每个数有选或不选两种抉择,每次遍历到ids==len时将p加入答案中
解题过程
选中当前数字,调用dfs函数之后记得还原
Code
class Solution {public int len;public List<List<Integer>> list=new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {len=nums.length;List<Integer> p=new ArrayList<>();dfs(0,p,nums);return list;}public void dfs(int ids,List<Integer> p,int []nums){if(ids==len){list.add(new ArrayList(p));return;}dfs(ids+1,p,nums);p.add(nums[ids]);dfs(ids+1,p,nums);p.remove(p.size()+-1);}
}作者:菜卷
链接:https://leetcode.cn/problems/subsets/solutions/2902071/zi-ji-by-ashi-jian-chong-dan-liao-shi-ya-0bm6/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这篇关于day-47 子集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!