78.Subsets leetcode java
来源:互联网 发布:网络超时请检查防火墙 编辑:程序博客网 时间:2024/05/21 09:59
题目:
Given a set of distinct integers, nums, return all possible subsets (the power set).
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3]
, a solution is:
[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]给定一个不重复整数的集合,返回所有可能的子集,解集不能包含重复的子集
思路:
看到all possible subsets是典型的DFS,套用排列组合模板
class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> res = new ArrayList<List<Integer>>(); List<Integer> subset = new ArrayList<Integer>(); if(nums.length==0){ return res; } Arrays.sort(nums); helper(subset,nums,0,res); return res; } public void helper(List<Integer> subset,int[] nums,int pos,List<List<Integer>> res){//找到所有以subset开头的所有子集 res.add(new ArrayList<Integer>(subset));//因为java传的是引用,如果直接把subsetadd进去,之后subset变化后add进去的对象也会发生变化,这里相当于拍个快照add进去 for(int i=pos;i<nums.length;i++){ subset.add(nums[i]); helper(subset,nums,i+1,res); subset.remove(subset.size()-1); } }}
阅读全文
0 0
- 【leetcode】78. Subsets【java】
- [leetcode]78. Subsets(Java)
- 78.Subsets leetcode java
- [Leetcode] Subsets (Java)
- [Leetcode] Subsets II (Java)
- LeetCode(078) Subsets (Java)
- [LeetCode][Java] Subsets
- [LeetCode][Java] Subsets II
- [leetcode-78]subsets(java)
- LeetCode 78. Subsets
- [LeetCode]78.Subsets
- LeetCode --- 78. Subsets
- [Leetcode] 78. Subsets
- [leetcode] 78.Subsets
- 【leetcode】78. Subsets
- Leetcode 78. Subsets
- 78. Subsets LeetCode
- [leetcode] 78. Subsets
- Git提交项目
- git管理Gitee
- mysql解压版密码过期和常用命令
- ProtoBuffer由.proto文件生成.cc/.h
- Vue 脱坑记
- 78.Subsets leetcode java
- 实录 | 黄东旭:开源与基础软件创业在中国
- java中Map和Set的底层分析
- Oracle数据库导入导出总结
- GIL全局解释器锁(转)
- iOS网络——AFNetworking AFURLSessionManager源码解析
- 如何直接访问github上的项目
- 作业6
- 极光推送Java后台实现