diff --git a/problems/0046.全排列.md b/problems/0046.全排列.md index 6c98df7b..5f5aea1f 100644 --- a/problems/0046.全排列.md +++ b/problems/0046.全排列.md @@ -207,7 +207,8 @@ func backtrack(nums,pathNums []int,used []bool){ } Javascript: -```Javascript + +```javascript var permute = function(nums) { let result = [] diff --git a/problems/0047.全排列II.md b/problems/0047.全排列II.md index d22e441e..a8633dbe 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 +}; + +``` +