本文共 917 字,大约阅读时间需要 3 分钟。
class Solution { //逆向思维 public boolean canJump(int[] nums) { Listlist = new ArrayList<>(); list.add(nums.length-1); for(int i=nums.length-2;i>=1;i--) { AddNew(list,nums,i); } return AddNew(list,nums,0); } //该函数用于添加索引为index的数当然list放的是index之后的可以跳到最后的所有索引值 boolean AddNew(List list,int[] nums,int index){ for (Integer integer : list) { if((integer-index)<=nums[index]) { list.add(0,index); return true; } } return false; }}
class Solution { //基本思路:只关注到目前为止可以跳到的最远的位置 // 他的刷新来源于他前面的位置(包括它本身) public boolean canJump(int[] nums) { int dist=0; for(int i=0;i<=dist;i++) dist = java.lang.Math.max(dist,nums[i]+i); return dist>=nums.length-1; }}
转载地址:http://cplzi.baihongyu.com/