Faaez Razeen

Subsets II

  • 1 min read
  • LC-Medium
  • Backtracking

3 years ago

Solution

TimeSpaceExplanation
O()O()
def subsetsWithDup(self, nums: List[int]) -> List[List[int]]: nums.sort() ans = [] def dfs(i, sub): if i == len(nums): ans.append(sub) return dfs(i + 1, sub + [nums[i]]) while i + 1 < len(nums) and nums[i] == nums[i + 1]: i += 1 dfs(i + 1, sub) dfs(0, []) return ans