需要使用多次时最好拉出来复制一下
/** * @param {number[]} nums * @return {number[][]} */ var permute = function(nums) { var ans = []; var vis = []; var res = []; var len = nums.length; function dfs(step){ if(step === len){ ans.push([...res]); return; } for(var i = 0; i < len; i++){ if(!vis[nums[i]]){ vis[nums[i]] = 1; res.push(nums[i]); dfs(step + 1); res.pop(); vis[nums[i]] = 0; } } } dfs(0); return ans; };
这题经典dfs模板 有手就行 发出来主要是发明js数组类型的length挪用时不太划算,需要使用多次时最好拉出来复制一下,这题没设len前运行时间为104ms,,优化后80ms
leetcode新年病房暴乱康复打算 46. 全摆列 JS解法
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30848.html