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

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

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

Note:

  • Elements in a subset must be in non-descending order.
  • The solution set must not contain duplicate subsets.

For example,
If S = [1,2,3], a solution is:

[  [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []]

子集问题我们用递归来做还是比较简单的,具体过程见图示:

//CODE

class Solution {public:	void subRe(vector
>& re, vector
&s,int j) { if(s.size() <= j) return; int size_ = re.size(); for(int i = 0; i < size_; ++i) { vector
copy(re[i]); copy.push_back(s[j]); re.push_back(copy); } subRe(re, s, j + 1); } vector
> subsets(vector
&S) { vector
> re; sort(S.begin(),S.end()); vector
sol; re.push_back(sol); subRe(re, S, 0); return re; }};
还是建议自己将递归树画一画,跟踪每步程序相关变量的变化,加深体会。

你可能感兴趣的文章
【数据结构周周练】003顺序栈与链栈
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>
《软件过程管理》 第六章 软件过程的项目管理
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>
《软件过程管理》 第八章 软件过程集成管理
查看>>
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>
《数据库系统概论》 第一章 绪论
查看>>
《数据库系统概论》 第二章 关系数据库
查看>>
《数据库系统概论》 第三章 关系数据库标准语言SQL
查看>>
SQL语句(二)查询语句
查看>>
SQL语句(六) 自主存取控制
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
堆排序完整版,含注释
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>