78. Subsets
class Solution:
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res=[[]]
for n in nums:
for i in range(len(res)):
res.append([n]+res[i])
return res
90. Subsets II
class Solution:
def subsetsWithDup(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res=[[]]
nums.sort()
for n in nums:
for i in range(len(res)):
val=[n]+res[i]
if not val in res: res.append(val)
return res

本文深入探讨了子集生成算法的实现,包括无重复元素的子集生成(LeetCode 78题)和包含重复元素的子集生成(LeetCode 90题),通过Python代码详细解释了递归和迭代两种方法。

287

被折叠的 条评论
为什么被折叠?



