幂集

幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素

说明:解集不能包含重复的子集。

方法一:逐步添加

{a,b}为{a,b,c}的子集,对于新增的元素c,可在{a,b}的所有子集中加上c,由此可获得 {a,b,c}的所有子集。

class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> res = new ArrayList<>();res.add(new ArrayList<>());for (int num : nums){for (int i = 0,size = res.size(); i<size; i++){List<Integer> sublist = new ArrayList<>();sublist.addAll(res.get(i));sublist.add(num);res.add(sublist);}}return res;}
}

方法二:位运算

对于{a,b,c}的所有子集,可看作是否包含某个位置的元素, 总共有2^3个

{}-000,{c}-001,{b}-010,{a}-100

{a,b}-110,{a, c}-101,{b,c}-011

{a,b,c}-111

class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> res = new ArrayList<>();for (int i = 0; i < 1<<nums.length; i++){List<Integer> sublist = new ArrayList<>();for (int j = 0; j < nums.length; j++){if (((i>>j) & 1) == 1){sublist.add(nums[j]);}}res.add(sublist);}return res;}
}

LeetCode题解:幂集相关推荐

  1. 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!

    转自 | 码农有道 大家好,我是小 G. 周末风和日丽,适合刷 LeetCode 今天给你们推荐个 GitHub 项目,里面收集了 900 多道 LeetCode 题解,并包含中英文两个版本,适合大多 ...

  2. PHP版Leetcode题解开始随缘更新

    2019独角兽企业重金招聘Python工程师标准>>> PHP版Leetcode题解 我叫skys215,是一名bug工程师. 我接触编程的时间比较早,但是因为我数学不好加上比较懒, ...

  3. [LeetCode 题解]: Binary Tree Preorder Traversal

    前言 [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a binary ...

  4. LeetCode 题解汇总

    为什么80%的码农都做不了架构师?>>>    LeetCode 题解汇总 转载于:https://my.oschina.net/michao/blog/801863

  5. leetcode题解【持续更新】

    leetcode题解不断更新,以及nowcoder题解.一起加油! 完整请移步我的Github 转载于:https://juejin.im/post/5c8a73d8f265da2de80fa774

  6. 32位有符号整数_008. 字符串转换整数 (atoi) | Leetcode题解

    点击上方"蓝色字体",选择"设为星标" 每天复习一道面试题,轻松拿大厂Offer~ 题目描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先 ...

  7. leetcode题解132-分割回文串 II

    问题描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文. 返回符合要求的 最少分割次数 . 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割 ...

  8. leetcode题解131-分割回文串

    问题描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aa ...

  9. [LeetCode 题解]: Roman to Interger

    前言 [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a roman ...

  10. 【LeetCode题解】二叉树的遍历

    我准备开始一个新系列[LeetCode题解],用来记录刷题,顺便复习一下数据结构与算法. 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有两个节点--左孩 ...

最新文章

  1. 数据结构-----AVL树的旋转操作
  2. 河北省单招计算机类考试考英语吗,2019年河北省高职单招考试十类 和对口电子电工类、计算机类联考 专业基础考试(英语)考试大纲.doc...
  3. ubuntu18.04如何安装mysql
  4. bootstrap 点击按钮刷新_Spring Cloud 中的 Bootstrap 上下文
  5. 系统时间正常日志时间不正常
  6. P2P-JXTA学习(1)-入门
  7. 数字电视 frontend tuner demod
  8. Ubuntu下.tar.bz2和.tar.gz文件的解压命令
  9. IplImage结构体
  10. Edge打不开出现指定路径不存在的问题
  11. Android常用控件-01
  12. 坐禅修行木鱼诵经流量主小程序开发
  13. Linux各目录介绍
  14. win xp安装详细教程
  15. [Excel]rank函数实现自动排序
  16. Arduino - PC817C光耦
  17. uva10808 - Rational Resistors
  18. 手动搭建 React 项目
  19. 服务器出现HTTP400、401、402、403错误原因及解决方法
  20. IBM大面积辞退40岁+的员工,如何避免可怕的中年危机?

热门文章

  1. matlab 自写 自适应中值滤波 matlab自适应中值滤波算法
  2. 10.深入浅出:反馈的概念及判断——参考《模拟电子技术基础》清华大学华成英主讲
  3. 1. 使用 MegaRAID Storage Manager 监控
  4. 3dsmax注册机不能用管理员身份运行的解决办法
  5. ati自定义分辨率_在Windows 10上设置自定义分辨率 | MOS86
  6. 一篇文章了解数据库系统
  7. Message: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标解决
  8. 2500个常用中文字符 + 130常用中英文字符
  9. 信息论与编码_中大网络信息理论与编码研讨会成功举办 SYSU Workshop on Net. Info. Theory and Coding...
  10. openvas漏洞扫描器