-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0047.py
More file actions
30 lines (22 loc) · 730 Bytes
/
0047.py
File metadata and controls
30 lines (22 loc) · 730 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution:
def permuteUnique(self, nums: List[int]) -> List[List[int]]:
nums.sort()
results = self.permute(nums)
return results
def permute(self, nums):
if len(nums) == 1:
return [nums.copy()]
used = {}
used_nums = set()
result = []
for _ in range(len(nums)):
x = nums[_]
n = nums.pop(0)
if not n in used_nums:
perms = self.permute(nums)
for perm in perms:
perm.append(n)
result.append(perm)
used_nums.add(n)
nums.append(n)
return result