代码随想录算法训练营第二十五天| 491.递增子序列 、46.全排列 、47.全排列 II 、332.重新安排行程、51.N皇后、37.解数独

16 阅读1分钟

491.递增子序列

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

var findSubsequences = function(nums) {
    var res =[];
    var path =[];
    var backtracking = function(nums,sIndex){
            if(path.length >=2){
                res.push([...path]);
            }
        var set = new Set();
        for(let i =sIndex;i<nums.length;i++){
            if(((nums[i] >= path[path.length-1] ) || path[0]==undefined ) && !set.has(nums[i])){
                set.add(nums[i]);
                path.push(nums[i])
                backtracking(nums,i+1);
                path.pop();
            }
        }
    }
    backtracking(nums,0);
    return res;
};

46.全排列

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

var permute = function(nums) {
      var path = [];
      var res = [];
      var len = nums.length
      var backtracking = function(nums){
        if(path.length === len){
            res.push([...path])
        }
            for(let i =0;i<nums.length;i++){
                    path.push(nums[i]);
                    var arr = nums.filter((item)=>{
                        return item != nums[i]
                    })
                    backtracking(arr);
                    path.pop();
            }
      }
      backtracking(nums)
      return res;
};

47.全排列 II

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

var permuteUnique = function(nums) {
    var res =[];
    var path =[];
    var len = nums.length;

    var backtracking = function(nums){
        if(path.length===len){
            res.push([...path]);
        }
        var set =new Set();
        for(let i=0;i<nums.length;i++){
            if(!set.has(nums[i])){
                path.push(nums[i]);
                set.add(nums[i]);
                var arr = nums.filter((item,idx)=>{
                    return idx !==i;
                })
                backtracking(arr);
                path.pop()
            }

        }
    }
    backtracking(nums)
    return res;
};

332.重新安排行程

相关链接:题目链接文章讲解 

解题思路

代码实现

51.N皇后

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

37.解数独

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现