[LeetCode]78. 子集
78. 子集
給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集(冪集)。
說明:解集不能包含重複的子集。
示例:
輸入: nums = [1,2,3]
輸出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
解法1
class Solution:
def subsets(self, nums):
res = []
nums.sort()
for i in range(0, len(nums)+1):
self.findSub(i, res, nums, [])
return res
def findSub(self, k, res_list, nums, sub_list):
if k == len(sub_list):
res_list.append(sub_list)
else:
for i in nums:
self.findSub(k, res_list, nums[nums.index(i)+1:], sub_list+[i])
解法2
解法1的簡化版
class Solution:
def subsets(self, nums):
ans = []
def find(cur,num):
for i in range(len(num)):
ans.append(cur+[num[i]])
find(cur+[num[i]], num[i+1::])
find([], nums)
return ans+[[]]
解法3
class Solution:
def subsets(self, nums):
res = [[]]
for num in nums :
for temp in res[:] :
x = temp[:]
x.append(num)
res.append(x)
return res
解法4
class Solution:
def subsets(self, nums):
n=len(nums)
if n==0:
return []
res=[]
for i in range(2**n):
s=i
newlist=[]
for j in range(n):
bitj=s%2
s=s//2
if bitj:
newlist.append(nums[j])
res.append(newlist)
return res
相關文章
- 78. 子集
- 「leetcode」78. 子集【回溯演算法】詳解!LeetCode演算法
- LeetCode-078-子集LeetCode
- 程式碼隨想錄演算法訓練營第24天 | 93.復原IP地址 78.子集 90.子集Ⅱ演算法
- LeetCode HOT 100:子集(簡單易懂的回溯)LeetCode
- 【每日一題-leetcode】416. 分割等和子集每日一題LeetCode
- LeetCode刷題日記 416. 分割等和子集LeetCode
- LeetCode 90 | 經典遞迴問題,求出所有不重複的子集IILeetCode遞迴
- 式子集錦
- jquery 查詢子集jQuery
- 列舉子集的方法
- 【LeetCode動態規劃#06】分割等和子集(01揹包問題一維寫法實戰)LeetCode動態規劃
- 程式碼隨想錄day24 || 93 復原IP地址,78 子集, 90 子集2
- 如何在 1 到 2000 中計算出子集和能被 5 整除的子集有多少個?
- 求解一個陣列的所有子集陣列
- leetcode 107. 二叉樹的層次遍歷 II 916. 單詞子集 535. TinyURL 的加密與解密LeetCode二叉樹加密解密
- 【資料集合】並集、交集、差集、子集
- 微服務不是全部,只是特定領域的子集微服務
- 怎樣解題|題3.1.16:子集的數目
- 遞迴:698、劃分為k個相等的子集遞迴
- 子集列舉最佳化與高維字首和
- 分組(狀壓dp+技巧:快速列舉子集)
- 【LeetCode回溯演算法#07】子集問題I+II,鞏固解題模板並詳解回溯演算法中的去重問題LeetCode演算法
- JavaScript權威指南(11)——JavaScript的子集和擴充套件JavaScript套件
- 一文秒殺所有排列組合子集問題
- 程式碼隨想錄day35 || 416 分割等和子集
- Day 37 | 01揹包問題 、416. 分割等和子集
- YOLOv4: Darknet 如何於 Docker 編譯,及訓練 COCO 子集YOLODocker編譯
- 阿斯蒂芬小技巧——列舉子集時間複雜度證明時間複雜度
- 1863. 找出所有子集的異或總和再求和 JavaScript【回溯】JavaScript
- WPF 一種帶有多個子集的類ComBox 解決方法
- 【LeetCode】如何學習LeetCode?LeetCode
- leetcodeLeetCode
- LeetCode in actionLeetCode
- leetcode 238LeetCode
- LeetCode 164 最大間距 HERODING的LeetCode之路LeetCode
- flutter 父級寬度不固定,子集多個元素自動填充的佈局方案方法Flutter
- LeetCode 143 重排連結串列 HERODING的LeetCode之路LeetCode