leetcode 求子集
leetcode 78 – 求子集
双非普本想刷题,不会递归老是迷。
碰到乐扣求子集,不会做啊干着急。
题目描述(中等难度):
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
示例 2:
输入:nums = [0]
输出:[[],[0]]
提示:
1 <= nums.length <= 10
-10 <= nums[i] <= 10
nums 中的所有元素 互不相同
思路:
是这个过程,假设输入数组是{1,2,3}
我想要,1,12,123,13,2,23,3。我是这样思考的。也就是我每次进来数组的一个数都是累加,如果加到最后一个数,那么我就换上一个数。就像我加到123时,已经时最后一个数了,所以我把组合12,给换成了13,让3取代2的位置。
代码实现:
class Solution {// 这个链表用来存现在有几个数在排序List<Integer> t = new ArrayList<Integer>();// 结果链表List<List<Integer>> ans = new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {// 调用方法,递归开始(入口) dfs(0, nums);return ans;}// 递归的方法public void dfs(int cur, int[] nums) {// 如果下标越界了,说明是遍历到最后一个,就保存if (cur == nums.length) {ans.add(new ArrayList<Integer>(t));return;}// 如果不是最后一个就加入排序列表t.add(nums[cur]);// 递归下一个元素dfs(cur + 1, nums);// 移除这一个t.remove(t.size() - 1);// 换下一个人上dfs(cur + 1, nums);}
}
leetcode 求子集相关推荐
- LeetCode 90子集Ⅱ91解码方法
微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...
- 组合算法/全排列算法/求子集算法
本文介绍组合算法,组合算法有很多,这里只介绍其中一种的两种形式. 全排列:全排列算法 组合:本文 子集算法:求子集算法 组合 leetcode实战:组合 给定两个整数 n 和 k,返回范围 [1, n ...
- 全排列算法(无重复数字全排列/有重复数字全排列)/ 组合算法/ 求子集算法
写在前面 全排列 1 无重复数字全排列 1.1 紫书版本 1.2 回溯法 2 有重复数字全排列 复盘易错点(可跳过) 写在前面 很久很久以前就想写的一篇博客,因为懒一直没开工,但是学习全排列算法算是我 ...
- 数字拆分问题算法回溯_回溯算法:求子集问题!
给「代码随想录」一个星标吧! ❝ 认识本质之后,这就是一道模板题 通知:我将公众号文章和学习相关的资料整理到了Github :https://github.com/youngyangyang04/le ...
- 递归/回溯:Subsets II求子集(有重复元素)
上一篇描述了针对数组中没有重复元素进行子集的求取过程递归/回溯:subsets求子集 但是当出现如下数组时: 例如: nums[] = [2, 1, 2, 2] 结果为: [[], [1], [1,2 ...
- leetcode 90. 子集 II 思考分析
与本题相关联的题目解析: leetcode 78. 子集 思考分析 leetcode 40. 组合总和 II思考分析 题目 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集 ...
- [位运算|状态压缩] leetcode 78 子集
[位运算|状态压缩]leetcode 78 子集 1.题目 题目链接 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: 解集不能包含重复的子集. 示例: 输入: n ...
- 回溯---含有相同元素求子集
含有相同元素求子集 90. Subsets II (Medium) For example, If nums = [1,2,2], a solution is:[[2],[1],[1,2,2],[2, ...
- 求子集PHP,JavaScript求非空子集数目的实现方法
给定一个序列的元素,里面由数字或字符组成,可能有重复的值,如何求它的非空子集数目? 比如说有序列{1, 2, 3, 4},它的非空子集包括: {{1}, {2}, {3}, {4}, {1,2}, { ...
最新文章
- jsoncpp使用中的总结
- 各种排序算法及其java程序实现
- Intel Realsense 图像投影(Projection)翻译
- 怎样进入android模式,安卓手机如何进入Recovery模式的通用方式详解
- opencv python考勤_Python基于Opencv来快速实现人脸识别过程详解(完整版)
- 奇妙的曲线--希尔伯特曲线
- KDD2021 | 推荐系统中利用深度哈希方法学习类别特征表示
- Java反编译工具推荐 -- DJ Java Decompiler
- Git:常用的命令(不断迭代完善)
- 物理机安装linux系统,物理机安装linux的三种方法
- docker镜像打包
- 【大数据之路-阿里巴巴大数据实践】第一篇 数据技术篇
- C#身份证号码验证器(检验格式是否正确)
- Centos7 下载安装Redis
- K均值(K-Means)聚类算法简介
- oracle 10102,linux - linux中的Oracle数据库安装程序[INS-10102]安装程序初始化失败 - SO中文参考 - www.soinside.com...
- 《王亡於江上》之周昭王姬瑕
- 如何验证扇形面积公式?
- 论述:企业如何做好网络营销推广
- python国内外研究现状-对当今Python 快速发展的研究与展望