easy backtrack
This commit is contained in:
parent
3a451165d6
commit
130ac22f05
26
46-240610-pass/main.py
Normal file
26
46-240610-pass/main.py
Normal file
@ -0,0 +1,26 @@
|
||||
class Solution:
|
||||
def permute(self,nums: list[int]) -> list[list[int]]:
|
||||
length = len(nums)
|
||||
l = [i for i in range(length)]
|
||||
permute = []
|
||||
s = set()
|
||||
def get_permute(l, num, length, s, cur):
|
||||
if num == length:
|
||||
permute.append(cur)
|
||||
return
|
||||
for i in range(length):
|
||||
if i not in s:
|
||||
s.add(i)
|
||||
cur.append(i)
|
||||
get_permute(l, num+1, length, s, cur.copy())
|
||||
cur.pop()
|
||||
s.remove(i)
|
||||
get_permute(l,0,length, s, cur=[])
|
||||
rlt = []
|
||||
for li in permute:
|
||||
rlt.append([nums[i] for i in li])
|
||||
return rlt
|
||||
|
||||
sol = Solution()
|
||||
print(sol.permute([1, 2, 3]))
|
||||
|
Loading…
Reference in New Issue
Block a user