【LeetCode笔记】78. 子集(Java、dfs)
文章目录
- 题目描述
- 代码 & 思路
- 更新2.0
题目描述
- 不重复:用nowIndex即可,子集一定是下标有序的(相对顺序和nums[]一样)
代码 & 思路
- 轮流往下找即可
- 注意:通过index来实现不重复,元素相对顺序一定要和nums的一样
class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> ans = new ArrayList<>();List<Integer> nowL = new ArrayList<>();ans.add(nowL);find(0,nowL,ans,nums);return ans;}void find(int index,List<Integer> fatherL,List<List<Integer>> ans,int[] nums){// 通过index实现不重复for(int i=index;i<nums.length;i++){List<Integer> nowL = new ArrayList<>(fatherL);nowL.add(nums[i]);ans.add(nowL);find(i+1,nowL,ans,nums);}}
}
更新2.0
class Solution {List<List<Integer>> ans = new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {List<Integer> list = new ArrayList<>();ans.add(list);find(nums, list, 0);return ans;}// 寻找以 index 开头的子集public void find(int[] nums, List<Integer> fatherList, int index) {for(int i = index; i < nums.length; i++) {List<Integer> list = new ArrayList<>(fatherList);list.add(nums[i]);ans.add(list);find(nums, list, i + 1);}}
}
【LeetCode笔记】78. 子集(Java、dfs)相关推荐
- [Leetcode][第78题][JAVA][子集][位运算][回溯]
[问题描述][中等] [解答思路] 1. 位运算 复杂度 class Solution {List<Integer> t = new ArrayList<Integer>(); ...
- leetcode系列-78.子集
leetcode系列–第78题.子集 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有可能的子集(幂集).解集 不能 包含重复的子集.你可以按 任意顺序 返回解集. 输入:num ...
- leetcode:电话号码的字母组合--java,dfs
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- 递归生成数独java_[leetcode] 37. 解数独(Java)(dfs,递归,回溯)
1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { private int ...
- [Leetcode][第79题][JAVA][单词搜索][DFS][回溯]
[问题描述][中等] [解答思路] 1. DFS繁琐版本 class Solution {public boolean exist(char[][] board, String word) {bool ...
- [Leetcode][第39题][JAVA][组合总和][回溯][dfs][剪枝]
[问题描述][中等] [解答思路] 1. 回溯 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.De ...
- [位运算|状态压缩] leetcode 78 子集
[位运算|状态压缩]leetcode 78 子集 1.题目 题目链接 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: 解集不能包含重复的子集. 示例: 输入: n ...
- leetcode:78. 子集
78. 子集 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/subsets/ 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有 ...
- LeetCode笔记:Biweekly Contest 78
LeetCode笔记:Biweekly Contest 78 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 ...
- LeetCode 78 子集 中等难度
78 子集 题目: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例:输入: nums = [1,2,3] 输出: [[1],[2], ...
最新文章
- vue中比较完美请求的栗子(使用 axios 访问 API)
- 2022-01-07
- 一文读懂工业设备的两种通讯方式:现场总线和工业以太网
- python与C#的互相调用
- C#多线程学习1——多线程的相关概念
- 围观Razavi和Sansen打架——电流并联反馈
- 淘宝美工设计师细说何为天猫透明背景
- 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录【附下载地址】
- 计算机工程师相关政策,计算机中级工程师论文发表(发表时机和要求)
- 第三阶段应用层——1.7 数码相册—电子书(6)—支持远程打印信息
- 如何把很多照片拼成一张照片_怎样用手机将多张照片拼成一张组合图
- 原生js与jQuery显示隐藏div的几种方法
- 开始学习Java啦!
- 计算机哪种语言处理速度最快,哪种高级编程语言的执行速度最快?
- Android 中一个简单垂直跑马灯的实现
- 理解van-field组件 :value 和 v-model的区别
- modal组件 vue_vue3:modal组件开发
- java redis 注解_Spring集成Redis使用注解
- 第十七章 Metasploit Framework
- 3 款 Linux 下的照片管理软件
热门文章
- JavaWeb——EL表达式
- c语言银行卡管理系统程序设计报告,《c语言程序设计》课程设计报告-职工信息管理系统.doc...
- oracle课程设计摘要,Oracle程序设计课程设计概要(doc 35页)
- ioca0中断 pic单片机_关于PIC单片机的模块和功能总结
- gtj2018如何生成工程量报表_土建软件GTJ2018中的十个问题及解决方法
- python多线程操作列表_详解Python多线程下的list
- 华为手机怎么使用读卡器_华为手机使用小窍门
- Windows10安装TeXlive和TeXstudio
- ubuntu安装Redis+安装mysql(配置远程登录)+安装jdk+安转nginx+安转teamviewer+安装terminator+安装sublime
- Java并发编程实战~Happens-Before 规则