本题使用递归方法求解。javascript
1.判断数组是否为全正,若是为全正则必定能跳到最后一步,则返回true。java
2.若是不为全正,则从数组最后开始,找到能到最后一步的前一步。再之前一部以前的的数组做为初始数组进行递归。数组
3.若是能从第一步走到最后一部则返回true。code
4.检查完数仍是不能到最后一部,返回false。 递归
var canJump = function(nums) { var j=0; for(j=0;j<nums.length;j++){ if(nums[j]<=0) break; } if(j==nums.length) return true; for(var i=nums.length-1;i>=0;i--){ if(nums.length <= 1){ return true; } else if(i>0 && i-1+nums[i-1] >= nums.length-1){ if(i-1 <= 0) return true else return canJump(nums.slice(0,i)); } } return false };
使用js求解,用递归的思想。ip
原创,转载请注明出处io