From cfd4e4d272bbac9029cdf242853d791c0e7211e3 Mon Sep 17 00:00:00 2001 From: fusunx <1102654482@qq.com> Date: Mon, 17 May 2021 08:33:21 +0800 Subject: [PATCH] =?UTF-8?q?0047.=E5=85=A8=E6=8E=92=E5=88=97.md=20Javascrip?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0046.全排列.md | 3 ++- problems/0047.全排列II.md | 37 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) 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 +}; + +``` +