leetcode(78)子集
子集
解题思路:递归+红色区域的写法很重要,在这里要千万注意
class Solution {public List<List<Integer>> subsets(int[] nums) {List<Integer[]> result = new ArrayList<Integer[]>();List<List<Integer>> resultList = new ArrayList<List<Integer>>();int len = nums.length;subsets2(result,nums,len);for(Integer[] i : result){resultList.add(Arrays.asList(i));}return resultList;}public void subsets2(List<Integer[]> result, int[] nums, int len) {if(len==0){Integer[] ele = new Integer[len];result.add(ele);return;}subsets2(result, nums, len - 1);Integer[] ele = null;Integer[] temp = null;int size = result.size();for(int i=0;i<size;++i){temp = result.get(i);ele = new Integer[temp.length+1];System.arraycopy(temp,0,ele,0,temp.length);ele[temp.length] = nums[len-1];result.add(ele);}} }
第二种方法:用List不用数组
class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> result = new ArrayList<List<Integer>>();int len = nums.length;subsets2(result,nums,len);return result;}public void subsets2(List<List<Integer>> result, int[] nums, int len) {if(len==0){List<Integer> ele = new ArrayList<Integer>();result.add(ele);return;}subsets2(result, nums, len - 1);List<Integer> ele = null;List<Integer> temp = null;int size = result.size();for(int i=0;i<size;++i){temp = result.get(i);ele = new ArrayList<Integer>(temp);ele.add(nums[len-1]);result.add(ele);}} }
转载于:https://www.cnblogs.com/erdanyang/p/11273681.html
leetcode(78)子集相关推荐
- [位运算|状态压缩] leetcode 78 子集
[位运算|状态压缩]leetcode 78 子集 1.题目 题目链接 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: 解集不能包含重复的子集. 示例: 输入: n ...
- leetcode:78. 子集
78. 子集 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/subsets/ 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有 ...
- LeetCode 78 子集 中等难度
78 子集 题目: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例:输入: nums = [1,2,3] 输出: [[1],[2], ...
- 回溯模板+leetcode——78. 子集 + 90. 子集 II
回溯法 一般情况下,看到题目要求「所有可能的结果」,而不是「结果的个数」,我们就知道需要暴力搜索所有的可行解了,可以用「回溯法」. 「回溯法」实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻 ...
- LeetCode 78. 子集【数组,回溯算法】
78. 子集 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有可能的子集(幂集). 解集 不能 包含重复的子集.你可以按 任意顺序 返回解集. 示例 1: 输入:nums = [ ...
- LeetCode 78. 子集
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [[3],[1],[2],[1,2, ...
- LeetCode 78. 子集(回溯)
文章目录 1. 题目信息 2. 解题 2.1 暴力回溯 2.2 循环 2.3 位运算 1. 题目信息 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重 ...
- leetcode 78. 子集 思考分析
题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 思考分析 画出解空间树. 我们可以发现我们所需要的结果是解空间的所有结点.而我们之前 ...
- leetcode 78.子集 dfs解法
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [[3],[1],[2],[1,2, ...
最新文章
- java helloworld代码_java学习应用篇|逃不掉的HelloWorld
- 机器学习-梯度下降算法原理及公式推导
- 线上问题分析系列:数据库连接池内存泄漏问题的分析和解决方案
- Winform中使用printDocument控件打印pictureBox中的二维码照片
- patent sub categories
- python爬虫实战教程分享 或许你可以看一下这篇文章
- linux下apache+openssl配置记录
- Java中的StringBuffer、StringBuilder和包装器类型
- ora-30926:无法在源表中获得一组稳定的行
- 史上最全的phpstorm常用配置
- 软件配置---重装系统---品牌电脑重启快捷键表
- 纯js封装一个多功能弹出框
- Grafana接入Elasticsearch数据,绘制dashboard
- 比炒币还香的在线作图工具draw.io
- 30个 开发商logo - 商标制作 - ci vi设计
- vue4+Cesium1.81.0安装及配置
- 一位华尔街金融大鳄的选股模型
- C语言中size_t类型详细说明【转载】
- Verilog HDL语言入门(二)
- addEventListener的常用事件
热门文章
- Golang入门教程(十七)Linux/Windows下快速搭建和配置NSQ
- Maven命令行使用:mvn clean install(安装)
- 二维数组的传参数的方法
- hdu 1022 Train Problem I(栈)
- Karrigell介绍
- 共享一个对Reflector 反编译支持中文的修正FileGenerator文件
- 一个简单粗暴的爬虫 - 必应今日美图
- oracle11g exp导出问题:部分表导不出来
- Kattis之旅——Prime Reduction
- [备忘]silverlight中关于“复制到输出目录”和“生成操作”