algorithm icon indicating copy to clipboard operation
algorithm copied to clipboard

算法复习总结,用JavaScript实现

Results 62 algorithm issues
Sort by recently updated
recently updated
newest added

![image](https://user-images.githubusercontent.com/15058550/43043502-b9999532-8dc7-11e8-9845-0898be7eb1ca.png) ``` /** * @param {number[]} candidates * @param {number} target * @return {number[][]} */ var combinationSum = function(candidates, target) { var res = []; function dfs(candidates,target,arr,j){ if(target

深度优先遍历
递归
回溯
剪枝

![image](https://user-images.githubusercontent.com/15058550/43042405-8e65d780-8daf-11e8-9abf-4ffffc65a828.png) ``` /** * @param {number[]} nums * @return {number[][]} */ var subsetsWithDup = function(nums) { nums = nums.sort((a,b)=>a-b); var res = []; function dfs(nums,arr,i){ res.push([...arr]) for(var j=i;j

深度优先遍历
递归
回溯
剪枝

![image](https://user-images.githubusercontent.com/15058550/43037188-35d0833a-8d3d-11e8-8ffd-d1e9decb1af3.png) ``` /** * @param {number[]} nums * @return {number[][]} */ var subsets = function(nums) { var res = []; function dfs(nums,arr,j){ res.push([...arr]); for(var i=j;i

深度优先遍历
递归
回溯
剪枝

![image](https://user-images.githubusercontent.com/15058550/42937390-7699263c-8b81-11e8-928c-55fd86168c06.png) ``` /** * @param {number} n * @return {number} */ var climbStairs = function(n) { var temp = { 1:1, 2:2, }; for(var i=3;i

动态规划

![image](https://user-images.githubusercontent.com/15058550/42863714-95108cd6-8a96-11e8-829c-3db489b45a15.png) ``` /** * @param {character[][]} grid * @return {number} */ var numIslands = function(grid) { var res =0; var visited =[]; var m = grid.length; if(grid.length===0) return res; var...

深度优先遍历
递归
回溯

![image](https://user-images.githubusercontent.com/15058550/42811187-83836948-89ec-11e8-9806-245040553fc8.png) ``` // 表示某一个点的上右下左的偏移量 var d = [[-1,0],[0,1],[1,0],[0,-1]]; // 标记是否已经被占用 var visited = []; // 判断是否越界 function inArea(board,x,y){ return x>=0 && y>=0 && x

递归
回溯

![image](https://user-images.githubusercontent.com/15058550/42732868-89bc869c-885b-11e8-8ed1-1f975f7e78ff.png) ``` /** * @param {number} n * @param {number} k * @return {number[][]} */ var combine = function(n, k) { res = []; var arr = []; generateCombine(n,k,1,arr); return...

递归
回溯

![image](https://user-images.githubusercontent.com/15058550/42410790-96976178-8222-11e8-932e-335330a508df.png) ``` /** * @param {number[]} nums * @return {number[][]} */ var permuteUnique = function(nums) { if(nums.length===0) return []; var res = []; var used = {}; function combile(nums,index,s){ if(index...

递归
回溯

![image](https://user-images.githubusercontent.com/15058550/42366046-c3ecf1a6-8132-11e8-9b80-34cb0f95c77e.png) ``` /** * @param {number[]} nums * @return {number[][]} */ var permute = function(nums) { if(nums.length===0) return []; var used = {}; var res = []; function combine(nums,index,s){ if(index...

递归
回溯

![image](https://user-images.githubusercontent.com/15058550/42309579-8f1e0ffe-806b-11e8-9a23-29747c748a77.png) ``` /** * @param {string} digits * @return {string[]} */ var letterCombinations = function(digits) { var digitsArray = digits.split(''); if(digitsArray.length===0) return []; var map ={ "2":"abc", "3":"def", "4":"ghi", "5":"jkl",...

递归
回溯