文章目录

  • 题目描述
  • 代码 & 思路
    • 更新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)相关推荐

  1. [Leetcode][第78题][JAVA][子集][位运算][回溯]

    [问题描述][中等] [解答思路] 1. 位运算 复杂度 class Solution {List<Integer> t = new ArrayList<Integer>(); ...

  2. leetcode系列-78.子集

    leetcode系列–第78题.子集 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有可能的子集(幂集).解集 不能 包含重复的子集.你可以按 任意顺序 返回解集. 输入:num ...

  3. leetcode:电话号码的字母组合--java,dfs

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...

  4. 递归生成数独java_[leetcode] 37. 解数独(Java)(dfs,递归,回溯)

    1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { private int ...

  5. [Leetcode][第79题][JAVA][单词搜索][DFS][回溯]

    [问题描述][中等] [解答思路] 1. DFS繁琐版本 class Solution {public boolean exist(char[][] board, String word) {bool ...

  6. [Leetcode][第39题][JAVA][组合总和][回溯][dfs][剪枝]

    [问题描述][中等] [解答思路] 1. 回溯 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.De ...

  7. [位运算|状态压缩] leetcode 78 子集

    [位运算|状态压缩]leetcode 78 子集 1.题目 题目链接 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: 解集不能包含重复的子集. 示例: 输入: n ...

  8. leetcode:78. 子集

    78. 子集 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/subsets/ 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有 ...

  9. LeetCode笔记:Biweekly Contest 78

    LeetCode笔记:Biweekly Contest 78 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 ...

  10. LeetCode 78 子集 中等难度

    78 子集 题目: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例:输入: nums = [1,2,3] 输出: [[1],[2], ...

最新文章

  1. vue中比较完美请求的栗子(使用 axios 访问 API)
  2. 2022-01-07
  3. 一文读懂工业设备的两种通讯方式:现场总线和工业以太网
  4. python与C#的互相调用
  5. C#多线程学习1——多线程的相关概念
  6. 围观Razavi和Sansen打架——电流并联反馈
  7. 淘宝美工设计师细说何为天猫透明背景
  8. 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录【附下载地址】
  9. 计算机工程师相关政策,计算机中级工程师论文发表(发表时机和要求)
  10. 第三阶段应用层——1.7 数码相册—电子书(6)—支持远程打印信息
  11. 如何把很多照片拼成一张照片_怎样用手机将多张照片拼成一张组合图
  12. 原生js与jQuery显示隐藏div的几种方法
  13. 开始学习Java啦!
  14. 计算机哪种语言处理速度最快,哪种高级编程语言的执行速度最快?
  15. Android 中一个简单垂直跑马灯的实现
  16. 理解van-field组件 :value 和 v-model的区别
  17. modal组件 vue_vue3:modal组件开发
  18. java redis 注解_Spring集成Redis使用注解
  19. 第十七章 Metasploit Framework
  20. 3 款 Linux 下的照片管理软件

热门文章

  1. JavaWeb——EL表达式
  2. c语言银行卡管理系统程序设计报告,《c语言程序设计》课程设计报告-职工信息管理系统.doc...
  3. oracle课程设计摘要,Oracle程序设计课程设计概要(doc 35页)
  4. ioca0中断 pic单片机_关于PIC单片机的模块和功能总结
  5. gtj2018如何生成工程量报表_土建软件GTJ2018中的十个问题及解决方法
  6. python多线程操作列表_详解Python多线程下的list
  7. 华为手机怎么使用读卡器_华为手机使用小窍门
  8. Windows10安装TeXlive和TeXstudio
  9. ubuntu安装Redis+安装mysql(配置远程登录)+安装jdk+安转nginx+安转teamviewer+安装terminator+安装sublime
  10. Java并发编程实战~Happens-Before 规则