zoukankan      html  css  js  c++  java
  • 白菜刷LeetCode记-46. Permutations

    今天这一题也是中等难度,题目如下:

    这一题是要实现数组的全排列。这一题是要使用遍历以及递归的思想去实现,代码如下:

     1 /**
     2  * @param {number[]} nums
     3  * @return {number[][]}
     4  */
     5 var permute = function(nums) {
     6     var res = new Array();
     7     
     8     helper(nums, 0, nums.length - 1 , res);
     9     
    10     return res;
    11 };
    12 
    13 var helper = function(nums, k, n, res){
    14     
    15     if(k==n){
    16         let tmparr = new Array();
    17         nums.forEach(function(v,i){
    18             tmparr.push(v);
    19         });
    20         res.push(tmparr);
    21     }else{
    22         for(let i = k ; i <= n ; i++){
    23             let tmp = nums[k];
    24             nums[k] = nums[i];
    25             nums[i] = tmp;
    26             
    27             helper(nums, k+1, n, res);
    28             
    29             tmp = nums[k];
    30             nums[k] = nums[i];
    31             nums[i] = tmp;
    32         }
    33     }
    34 }

    (今天因为将第25、31行的tmp写成了nums[k],导致结果一致不正确,以后需要注意一下这些小细节。)

    END

  • 相关阅读:
    Django模型层进阶
    Django模型层相关
    BOM与DOM
    JavaScript入门
    HTML基础
    子查询/联合分组/all与any/视图/事务
    表的查询
    mysql的多表关系
    Mysql基本操作
    Spider_基础总结2_Requests异常
  • 原文地址:https://www.cnblogs.com/sssysukww/p/9580761.html
Copyright © 2011-2022 走看看