90. Subsets II
78. Subsets
class Solution:
def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
n = len(nums)
ans = []
nums.sort()
def backtrack(k, curr, start):
if len(curr) == k:
ans.append(list(curr))
return
else:
for i in range(start, n):
if i != start and nums[i] == nums[i-1]:
continue
curr.append(nums[i])
backtrack(k, curr, i + 1)
curr.pop()
for k in range(n + 1):
backtrack(k, [], 0)
return ansLast updated