Skip to content

Commit 9004884

Browse files
authored
Merge pull request vJechsmayr#165 from andregallacci/master
Solving Permutations II
2 parents 241b834 + a201f5f commit 9004884

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var permuteUnique = function (nums) {
2+
nums.sort((a, b) => a - b);
3+
var result = [];
4+
let visited = new Array(nums.length).fill(false)
5+
6+
function helper(nums, visited, permutation) {
7+
if (permutation.length === nums.length) {
8+
result.push(permutation.slice());
9+
return;
10+
}
11+
12+
for (let i = 0; i < nums.length; i++) {
13+
if (visited[i]) continue;
14+
if (i > 0 && nums[i] == nums[i - 1] && !visited[i - 1]) continue;
15+
16+
permutation.push(nums[i]);
17+
visited[i] = true;
18+
helper(nums, visited, permutation)
19+
visited[i] = false;
20+
permutation.pop();
21+
}
22+
23+
}
24+
25+
helper(nums, visited, []);
26+
return result;
27+
};

0 commit comments

Comments
 (0)