diff --git a/problems/0046.全排列.md b/problems/0046.全排列.md index c9a52287..b3ede237 100644 --- a/problems/0046.全排列.md +++ b/problems/0046.全排列.md @@ -189,7 +189,8 @@ Python: Go: Javascript: -```Javascript + +```javascript var permute = function(nums) { let result = [] diff --git a/problems/0047.全排列II.md b/problems/0047.全排列II.md index 94bb4df1..165ccb37 100644 --- a/problems/0047.全排列II.md +++ b/problems/0047.全排列II.md @@ -220,6 +220,43 @@ class Solution: return res ``` +Javascript: + +```javascript + +var permuteUnique = function (nums) { + nums.sort((a, b) => { + return a - b + }) + let result = [] + let path = [] + + function backtracing( used) { + if (path.length === nums.length) { + result.push(path.slice()) + return + } + for (let i = 0; i < nums.length; i++) { + if (i > 0 && nums[i] === nums[i - 1] && !used[i - 1]) { + continue + } + if (!used[i]) { + used[i] = true + path.push(nums[i]) + backtracing(used) + path.pop() + used[i] = false + } + + + } + } + backtracing([]) + return result +}; + +``` +