90. Subsets II - LeetCode Solution


Array Backtracking Bit Manipulation

Python Code:

class Solution:
    def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
        ans = [[]]
        def trav(i, k):
            if i == len(nums):
                return
            
            for j in range(i, len(nums)):
                ans.append(sorted(k + [nums[j]]))
                trav(j+1, k+[nums[j]])
        
        trav(0, [])
        ans.sort()
        i = 0
        
        while i != len(ans)-1:
            if ans[i] == ans[i-1]:
                ans.pop(i)
                continue
            i+=1
  
        return ans
        
        


Comments

Submit
0 Comments
More Questions

799A - Carrot Cakes
1569B - Chess Tournament
1047B - Cover Points
1381B - Unmerge
1256A - Payment Without Change
908B - New Year and Buggy Bot
979A - Pizza Pizza Pizza
731A - Night at the Museum
742A - Arpa’s hard exam and Mehrdad’s naive cheat
1492A - Three swimmers
1360E - Polygon
1517D - Explorer Space
1230B - Ania and Minimizing
1201A - Important Exam
676A - Nicholas and Permutation
431A - Black Square
474B - Worms
987B - High School Become Human
1223A - CME
1658B - Marin and Anti-coprime Permutation
14B - Young Photographer
143A - Help Vasilisa the Wise 2
320A - Magic Numbers
1658A - Marin and Photoshoot
514A - Chewbaсca and Number
382A - Ksenia and Pan Scales
734B - Anton and Digits
1080A - Petya and Origami
1642D - Repetitions Decoding
1440A - Buy the String