Skip to content

Commit cba0db9

Browse files
committed
Permutations
1 parent ebcad0b commit cba0db9

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

Backtracking/46-Permutations.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
'''
2+
Permutations
3+
Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.
4+
5+
Example 1:
6+
7+
Input: nums = [1,2,3]
8+
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
9+
'''
10+
11+
12+
defpermute(nums):
13+
result= []
14+
15+
# base case
16+
iflen(nums) ==1:
17+
return [nums.copy()] #ornums[:] is a deep copy
18+
19+
foriinrange(len(nums)):
20+
n=nums.pop()
21+
perms=permute(nums)
22+
23+
forperminperms:
24+
perm.append(n)
25+
result.extend(perms)
26+
nums.append(n)
27+
returnresult
28+
29+
#T:O(2^n)
30+
#S:O(n)

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ Check the notes for the explaination - [Notes](https://stingy-shallot-4ea.notion
1010
-[x][Letter Case Permutation](Backtracking/784-letter-case-permutation.py)
1111
-[x][Subsets](Backtracking/78-Subsets.py)
1212
-[x][Subsets-II](Backtracking/78-Subsets.py)
13+
-[x][Permutations](Backtracking/46-Permutations.py)
1314

0 commit comments

Comments
 (0)
close