[47] 全排列 II

/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var permuteUnique = function (nums) {
  nums.sort()
  const res = []
  function dp(arr, nums) {
    if (nums.length === 1) {
      res.push([...arr, nums[0]])
    } else {
      for (let i = 0; i < nums.length; i++) {
        if (i !== 0 && nums[i] === nums[i - 1]) continue
        const newNums = nums.slice()
        dp([...arr, newNums.splice(i, 1)], newNums)
      }
    }
  }
  dp([], nums)
  return res
};

 

posted @ 2023-11-30 13:59  人恒过  阅读(10)  评论(0)    收藏  举报