码迷,mamicode.com
首页 > 其他好文 > 详细

白菜刷LeetCode记-46. Permutations

时间:2018-09-03 20:56:50      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:bubuko   png   排列   注意   perm   each   递归   lse   etc   

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

技术分享图片

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

 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

白菜刷LeetCode记-46. Permutations

标签:bubuko   png   排列   注意   perm   each   递归   lse   etc   

原文地址:https://www.cnblogs.com/sssysukww/p/9580761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!