Skip to content

Commit 26e518e

Browse files
committed
Update permutations-ii.py
1 parent 3b01da4 commit 26e518e

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

Python/permutations-ii.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,31 @@
88
# [1,1,2], [1,2,1], and [2,1,1].
99
#
1010

11-
12-
class Solution:
11+
class Solution(object):
12+
def permuteUnique(self, nums):
13+
"""
14+
:type nums: List[int]
15+
:rtype: List[List[int]]
16+
"""
17+
nums.sort()
18+
result = []
19+
used = [False] * len(nums)
20+
self.permuteRecu(result, used, [], nums)
21+
return result
22+
23+
def permuteRecu(self, result, used, cur, nums):
24+
if len(cur) == len(nums):
25+
result.append(cur + [])
26+
return
27+
for i in xrange(len(nums)):
28+
if not used[i] and not (i > 0 and nums[i-1] == nums[i] and used[i-1]):
29+
used[i] = True
30+
cur.append(nums[i])
31+
self.permuteRecu(result, used, cur, nums)
32+
cur.pop()
33+
used[i] = False
34+
35+
class Solution2:
1336
# @param num, a list of integer
1437
# @return a list of lists of integers
1538
def permuteUnique(self, nums):

0 commit comments

Comments
 (0)