[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演算法
- 程式碼隨想錄演算法訓練營第24天 | 93.復原IP地址 78.子集 90.子集Ⅱ演算法
- LeetCode-078-子集LeetCode
- LeetCode HOT 100:子集(簡單易懂的回溯)LeetCode
- 【每日一題-leetcode】416. 分割等和子集每日一題LeetCode
- LeetCode刷題日記 416. 分割等和子集LeetCode
- 式子集錦
- LeetCode 90 | 經典遞迴問題,求出所有不重複的子集IILeetCode遞迴
- jquery 查詢子集jQuery
- Java實現-子集Java
- 列舉子集的方法
- 程式碼隨想錄day24 || 93 復原IP地址,78 子集, 90 子集2
- C 判斷字串是否是子集字串
- 【LeetCode動態規劃#06】分割等和子集(01揹包問題一維寫法實戰)LeetCode動態規劃
- 求解一個陣列的所有子集陣列
- 如何在 1 到 2000 中計算出子集和能被 5 整除的子集有多少個?
- 【資料集合】並集、交集、差集、子集
- Java實現-帶重複元素的子集Java
- 微服務不是全部,只是特定領域的子集微服務
- PNP的子集和問題終於解決了
- 分組(狀壓dp+技巧:快速列舉子集)
- 子集列舉最佳化與高維字首和
- JavaScript權威指南(11)——JavaScript的子集和擴充套件JavaScript套件
- 2014年最佳資料段子集合
- Oracle字符集 - 超集和子集對應關係Oracle
- leetcode 107. 二叉樹的層次遍歷 II 916. 單詞子集 535. TinyURL 的加密與解密LeetCode二叉樹加密解密
- Nodejs連線12種資料庫例子集合NodeJS資料庫
- Oracle字符集超集與子集關係10GOracle
- 【LeetCode回溯演算法#07】子集問題I+II,鞏固解題模板並詳解回溯演算法中的去重問題LeetCode演算法
- Google面試題搜尋之星和最多連續數的子集答案Go面試題
- Day 37 | 01揹包問題 、416. 分割等和子集
- 阿斯蒂芬小技巧——列舉子集時間複雜度證明時間複雜度
- 程式碼隨想錄day35 || 416 分割等和子集
- YOLOv4: Darknet 如何於 Docker 編譯,及訓練 COCO 子集YOLODocker編譯
- 1863. 找出所有子集的異或總和再求和 JavaScript【回溯】JavaScript
- 【轉載】Oracle字符集子集與超級的對應關係Oracle
- WPF 一種帶有多個子集的類ComBox 解決方法