• 题目
    给定一组不同的整数 nums,返回所有可能的子集(幂集)。注意事项:该解决方案集不能包含重复的子集。
  • 思路
    1.设置一个大机器人robot解决主问题,对于全排列的每一个元素index,都有取index和不取index区别
    2.设置一个辅助数组v[],来记录当前index是取还是不取。
    3.当前元素取,执行小机器人robot对下一个元素进行判断
    4.当前元素不取,执行小机器人robot对下一个元素进行判断
    5.直到小机器人遍历完数组,将当前的组合情况放入List。
class Solution {public static boolean[] v = new boolean[100];public static List<List<Integer>> ans = new ArrayList<List<Integer>>();public void robot(int index, int[] nums){if(index >= nums.length){List<Integer> r = new ArrayList<Integer>();for(int i = 0; i < nums.length; i++){if(v[i]){r.add(nums[i]);}}ans.add(r);return;}//v[index]辅助记录,记录取还是不取v[index]v[index] = true; //取indexrobot(index + 1, nums); //造个小机器人,把取index的情况都算完v[index] = false;  //不取indexrobot(index + 1, nums);  //造个小机器人,把不取index的情况都算完}public List<List<Integer>> subsets(int[] nums) {ans.clear();robot(0, nums);return ans;}
}

LeetCode78-子集相关推荐

  1. 回溯算法--LeetCode-78 子集、LeetCode-90 子集Ⅱ

    LeetCode-78 子集 题目链接:https://leetcode-cn.com/problems/subsets/ 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). ...

  2. leetcode78. 子集(回溯)

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

  3. leetcode78 子集

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

  4. Leetcode--78. 子集

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

  5. Leetcode 76最小覆盖子串77组合78子集

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

  6. 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  7. 双非研二师弟的春招总结和实习感悟

    大家好,我是阿秀. 考虑到最近校招提前批已经开始了,最近会多分享一些校招秋招经验! 前段时间有位研二师弟经过自己的努力终于拿到了字节和腾讯的offer,跟我分享他春招过程和实习感悟,我感觉还是挺有意义 ...

  8. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  9. leetcode解题总览

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  10. leetcode分类刷题笔记

    leetcode分类刷题笔记--基于python3 写在前面 1.做题如果实在想不出时间复杂度比较优的解法,可以先写出暴力解法,尝试在其基础上优化 2.排序.双指针.二分等--经常可以优化时间复杂度 ...

最新文章

  1. ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux
  2. iOS 关于手机权限的检查与获取
  3. Linux中用户管理
  4. How to setup SLF4J and LOGBack in a web app - fast--转载
  5. 四五月份:关键词是沟通、绘画和SQL
  6. 5G边缘计算:开源架起5G MEC生态发展新通路
  7. 2019款新iPhone发布时间曝光:依旧9月12日亮相?
  8. 关于Mytatis动态拼接in语句并且按照指定顺序排序的问题
  9. Java基础学习总结(43)——Java8 Lambda揭秘
  10. 1.VBA实现EXCEL中Sheet1的 甲列 相同数值的行对应的乙列的数的和作为Sheet2中丙列中与Sheet1中甲列 相同的行对应的丁列的值...
  11. 如何用JavaScript判断客户端浏览器是否安装了Flash插件,及其版本
  12. 【Oracle】手工创建数据库
  13. Python Imaging Library: ImageMath Module(图像数学运算模块)
  14. AD19一键同时修改PCB各元器件黄色标志字符的尺寸(大了太占空间改小一点
  15. iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425)
  16. 有权图的单源最短路算法
  17. DS8880要将双控高端存储架构进行到底
  18. 十亿级别的MySQL数据库表(InnoDB存储引擎),旧数据清理的蹩脚方案。
  19. 手机兼容性测试——机型选择(从系统、屏幕、型号考虑)
  20. IAR生成文件链接过程解析

热门文章

  1. 细说 python与其他编程语言区别
  2. C++ this指针
  3. Linux下如何做整个硬盘的备份
  4. 持有华为hcip认证一个月工资有多少?华为hcip考试流程是怎样的?
  5. 毕业设计 单片机超声波雷达系统 - 嵌入式
  6. 全网最新刷题神器来了,面试题想搜就搜!
  7. 用Python对微信好友进行分析
  8. 预言机或成补齐DApp爆发的最后一片拼图? |链捕手
  9. 数字地图将成正果【转载】
  10. Python-批量修改Excel内的内容并保留原始格式