leetCode 78.Subsets (子集) 解题思路和方法
来源:互联网 发布:幺正矩阵 编辑:程序博客网 时间:2024/06/06 01:33
Given a set of distinct integers, nums, return all possible subsets.
Note:
- Elements in a subset must be in non-descending order.
- 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], []]
思路:这题和上题的组合差不多,只是k的数字是变动的,从0-n。所以对比上一题,也就是对K加个循环。
代码如下:
public class Solution { boolean[] f; List<List<Integer>> list; public List<List<Integer>> subsets(int[] nums) { list = new ArrayList<List<Integer>>(); if(nums.length == 0){//必须是有效k值 return list; } f = new boolean[nums.length]; for(int i = 0; i <= nums.length;i++){ count(nums,"",i,0);//调用函数 } return list; } /** * 实现对k个数字的排练组合 * @param a 数组 * @param s 排练组合得到的结果 * @param nn 排练组合的数字个数 */ private void count(int[] a,String s,int nn,int j){ if(nn == 0){//处理结果 String[] sa = s.split(",");//分割数组 List<Integer> al = new ArrayList<Integer>(); for(int i = 0;i < sa.length; i++){ if(sa[i].length() > 0)//只有当不为空的时候才添加 al.add(Integer.parseInt(sa[i]));//添加 } Collections.sort(al);//排序,非降序 list.add(al); return; } //遍历,从i=j开始,只要i开头的与i大的值 for(int i = j; i < a.length; i++){ if(!f[i]){ f[i] = true; count(a,s + "," + a[i],nn-1,i+1);//调用下一个为false的数字 f[i] = false; } } }}
0 0
- leetCode 78.Subsets (子集) 解题思路和方法
- leetCode 90.Subsets II(子集II) 解题思路和方法
- Leetcode 78. Subsets 子集 解题报告
- 两种回溯方法解决子集问题的思路 leetcode 78. Subsets
- leetcode解题之 77. Combinations&78. Subsets&90. Subsets II java 版(求所有子集)
- LeetCode 78. Subsets(子集)
- Leetcode 90. Subsets II 子集2 解题报告
- leetcode 78. Subsets-数组子集|回溯算法
- Leetcode:78. Subsets 求集合的子集
- Subsets 求子集 @LeetCode
- LeetCode | Subsets(子集)
- [LeetCode] Subsets II 子集
- LeetCode-Subsets(子集)
- [leetcode] 78. Subsets 解题报告
- LeetCode 78. Subsets 解题报告
- [Leetcode] 78. Subsets 解题报告
- LeetCode 78. Subsets 解题报告
- Subsets II [leetcode] 从获取子集的递归和循环方法说起,解决重复子集的问题
- 孤立点挖掘算法
- sql server生成临时表的快捷方法
- 数据挖掘笔记
- php.ini的加载位置
- 精美轮播图(完整代码)
- leetCode 78.Subsets (子集) 解题思路和方法
- mybait整合spring 之xml
- hdu 5288 OO’s Sequence 枚举因数
- 减小新版Lazarus编译的可执行文件的体积
- 记最近遇到的几个小问题(字符串转整型溢出,汉字乱码,双网卡双默认IP)
- 第四章
- 程序员必须知道的10大基础算法及讲解
- 统计难题
- js关联数组