博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Middle-题目52:78. Subsets
阅读量:2432 次
发布时间:2019-05-10

本文共 841 字,大约阅读时间需要 2 分钟。

题目原文:

Given a set of distinct integers, nums, return all possible subsets.

Note:

Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
题目大意:
给出一个无重复元素的数组,求出他的所有子集。
要求:
子集中的元素不能是递减的,且结果中不能有重复的子集。
题目分析:
既然是不重复的那就好办了,求数组的长度n,并遍历一个n位长的比特串,其中哪一位为1,原数组的哪个元素就加入子集。
源码:(language:java)

public class Solution {
public List
> subsets(int[] nums) { Arrays.sort(nums); List
> subsets = new ArrayList
>(); int count = 1<
subset = new ArrayList
(); int index=0; int i=j; while(i!=0) { if(i%2==1) subset.add(nums[index]); index++; i=i>>1; } subsets.add(subset); } return subsets; }}

成绩:

2ms,beats 59.76%,众数3ms,44.63%
Cmershen的碎碎念:
计算机是基于二进制运算的,所以能用bit manipulate方法解决的问题往往都比较方便。但此题复杂度达到 O(2n) ,使用位运算比单纯的回溯也仅仅是易于理解。

转载地址:http://wbomb.baihongyu.com/

你可能感兴趣的文章
IBM BPM BlueWorks:一次 WebSphere 云试验
查看>>
websphere笔记
查看>>
使用 WebSphere Process Server 关系开发集成解决方案(2)
查看>>
最新最全的Portlet 通信过程详解
查看>>
在LINUX中安装WEB SPHERE5.1的正确方法
查看>>
WebSphere简单故障排查
查看>>
ITCAM for Websphere v6.0与ITM v6.1集成的快速指南
查看>>
数据泵 TTS(传输表空间技术)
查看>>
weblogic管理2 - 创建并启动一个managed server
查看>>
linux下开机自动开启单机oracle
查看>>
weblogic管理1——创建 和 删除一个domain
查看>>
SQL开发--经典建议(转载)和大家分享
查看>>
网络上经典的DOS小命令(转)
查看>>
sqlserver中的一些技巧(转)
查看>>
简化Windows 2003域控制器密码(转)
查看>>
GSM无线网络的虚拟分层(转)
查看>>
不用重装 轻松解决Windows系统棘手问题(转)
查看>>
对移动通信网络优化工作的一些见解(转)
查看>>
正确网络配置建议 减少卡机死机的关键(转)
查看>>
智能手机Smartphone开发从零起步(五)(转)
查看>>