博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode::Subsets
阅读量:4307 次
发布时间:2019-06-06

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

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

分析:题目就是给一个整数集合,给出所以的子集。 基本思想是递归或者说是迭代的方法。用前面得到的集合来构造

后面的。但是怎样高效、方便的构造集合是关键点。比如,开始想到的是先生成集合中0个元素、1个元素。。。逐步增多

但这样很难实现。实际高效的做法是用i个元素生成所有子集,然后往里面添加第(i+1)个元素,将得到的元素集合加到前面结果

中,就可以得到最终的结果了。

1 class Solution { 2 public: 3     vector
> subsets(vector
&S) { 4 vector
> sets; 5 vector
subs; 6 sort(S.begin(),S.end()); 7 sets.push_back(subs); 8 for(int i=0;i

代码非常的简洁,但是注意第10行,是每次加之前,需要记录集合中已有的子集个数,否则后面size变化,会导致死循环!

 

转载于:https://www.cnblogs.com/soyscut/p/3770754.html

你可能感兴趣的文章
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>
vnpy学习11_增加测试评估指标
查看>>
资金流入流出计算方法
查看>>
海龟交易法则07_如何衡量风险
查看>>
海龟交易法则08_风险与资金管理
查看>>
海龟交易法则09_海龟式积木
查看>>
海龟交易法则10_通用积木
查看>>
海龟交易法则14_掌控心魔
查看>>
海龟交易法则16_附原版海龟交易法则
查看>>
克罗谈投资策略01_期货交易中的墨菲法则
查看>>
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>
通向财务自由之路01_导读
查看>>
通向财务自由之路02_成功的决定因素:你
查看>>