幂集 返回某集合的所有子集
生活随笔
收集整理的這篇文章主要介紹了
幂集 返回某集合的所有子集
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
冪集。編寫(xiě)一種方法,返回某集合的所有子集。集合中不包含重復(fù)的元素。
-
說(shuō)明:解集不能包含重復(fù)的子集。
-
示例:
來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/power-set-lcci
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解題思路
遞推,每次先放一個(gè),然后放入下一個(gè)元素的時(shí)候,將該元素與之前的結(jié)果集組合,再放入結(jié)果集中,再把當(dāng)前元素加入結(jié)果集。
如[1,2,3]
- 先放1,結(jié)果集[[1]]
- 再取2,與之前結(jié)果集組合,得[1,2],加入結(jié)果集,此時(shí)結(jié)果集[[1], [1,2]],再將該元素加入結(jié)果集,得[[1],[1,2],[2]]
- 依次類推。
代碼
class Solution { public:vector<vector<int>> subsets(vector<int>& nums) {vector<vector<int>> res;if (nums.empty()) {return res;}res.push_back(vector<int>{nums[0]});for (int i=1; i<nums.size(); i++) {int size = res.size();;for (int j=0; j<size; j++) {auto tmp = res[j];tmp.push_back(nums[i]);res.push_back(tmp);}res.push_back(vector<int>{nums[i]});}res.push_back(vector<int>{});return res;} };總結(jié)
以上是生活随笔為你收集整理的幂集 返回某集合的所有子集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 地下城与勇士dnf无尽的永恒有什么用处?
- 下一篇: 颐和园北宫门能进吗