Skip to content

Commit fa7a57b

Browse files
committed
solved: 46
1 parent 28dcddf commit fa7a57b

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

code/46.permutations.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// @leet start
2+
function permute(_nums: number[]): number[][] {
3+
const nums = _nums.slice();
4+
const r = new Set<number[]>();
5+
6+
function dfs(start: number) {
7+
if (start === nums.length) {
8+
r.add(nums.slice());
9+
return;
10+
}
11+
12+
for (let i = start; i < nums.length; i++) {
13+
[nums[start], nums[i]] = [nums[i], nums[start]];
14+
dfs(start + 1);
15+
[nums[start], nums[i]] = [nums[i], nums[start]];
16+
}
17+
}
18+
19+
dfs(0);
20+
21+
return [...r];
22+
}
23+
// @leet end
24+

0 commit comments

Comments
 (0)