LeetCode题解:幂集
幂集
幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。
说明:解集不能包含重复的子集。
方法一:逐步添加
{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题解:幂集相关推荐
- 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!
转自 | 码农有道 大家好,我是小 G. 周末风和日丽,适合刷 LeetCode 今天给你们推荐个 GitHub 项目,里面收集了 900 多道 LeetCode 题解,并包含中英文两个版本,适合大多 ...
- PHP版Leetcode题解开始随缘更新
2019独角兽企业重金招聘Python工程师标准>>> PHP版Leetcode题解 我叫skys215,是一名bug工程师. 我接触编程的时间比较早,但是因为我数学不好加上比较懒, ...
- [LeetCode 题解]: Binary Tree Preorder Traversal
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a binary ...
- LeetCode 题解汇总
为什么80%的码农都做不了架构师?>>> LeetCode 题解汇总 转载于:https://my.oschina.net/michao/blog/801863
- leetcode题解【持续更新】
leetcode题解不断更新,以及nowcoder题解.一起加油! 完整请移步我的Github 转载于:https://juejin.im/post/5c8a73d8f265da2de80fa774
- 32位有符号整数_008. 字符串转换整数 (atoi) | Leetcode题解
点击上方"蓝色字体",选择"设为星标" 每天复习一道面试题,轻松拿大厂Offer~ 题目描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先 ...
- leetcode题解132-分割回文串 II
问题描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文. 返回符合要求的 最少分割次数 . 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割 ...
- leetcode题解131-分割回文串
问题描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aa ...
- [LeetCode 题解]: Roman to Interger
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a roman ...
- 【LeetCode题解】二叉树的遍历
我准备开始一个新系列[LeetCode题解],用来记录刷题,顺便复习一下数据结构与算法. 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有两个节点--左孩 ...
最新文章
- 数据结构-----AVL树的旋转操作
- 河北省单招计算机类考试考英语吗,2019年河北省高职单招考试十类 和对口电子电工类、计算机类联考 专业基础考试(英语)考试大纲.doc...
- ubuntu18.04如何安装mysql
- bootstrap 点击按钮刷新_Spring Cloud 中的 Bootstrap 上下文
- 系统时间正常日志时间不正常
- P2P-JXTA学习(1)-入门
- 数字电视 frontend tuner demod
- Ubuntu下.tar.bz2和.tar.gz文件的解压命令
- IplImage结构体
- Edge打不开出现指定路径不存在的问题
- Android常用控件-01
- 坐禅修行木鱼诵经流量主小程序开发
- Linux各目录介绍
- win xp安装详细教程
- [Excel]rank函数实现自动排序
- Arduino - PC817C光耦
- uva10808 - Rational Resistors
- 手动搭建 React 项目
- 服务器出现HTTP400、401、402、403错误原因及解决方法
- IBM大面积辞退40岁+的员工,如何避免可怕的中年危机?
热门文章
- matlab 自写 自适应中值滤波 matlab自适应中值滤波算法
- 10.深入浅出:反馈的概念及判断——参考《模拟电子技术基础》清华大学华成英主讲
- 1. 使用 MegaRAID Storage Manager 监控
- 3dsmax注册机不能用管理员身份运行的解决办法
- ati自定义分辨率_在Windows 10上设置自定义分辨率 | MOS86
- 一篇文章了解数据库系统
- Message: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标解决
- 2500个常用中文字符 + 130常用中英文字符
- 信息论与编码_中大网络信息理论与编码研讨会成功举办 SYSU Workshop on Net. Info. Theory and Coding...
- openvas漏洞扫描器