本文主要是介绍let 55 Jump Game,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主题思想: 这个和Jump GameII 是类似的题
做题思路就是贪心算法, 首先获取最大可以走到的下标,然后依次走一步,记录在走到上一次计算到的最大下标位置时出现的最大值,当走到上一次计算的最大下标时,更新下一步可以到达的最大下标,如果下一步可以到达的下标大于数组最后一个元素下标,则可以到达。如果等于当前下标,说明止步不前,则无法到达数组最后一个元素。
AC代码:
class Solution {public boolean canJump(int[] nums) {if(nums==null||nums.length<2)return true;int longest=0,nextlongest=0;for(int i=0;i<nums.length;i++){nextlongest=Math.max(nextlongest,i+nums[i]);if(i==longest){longest=nextlongest;if(longest>=nums.length-1) return true;if(longest==i) return false;}}return true;}
}
这篇关于let 55 Jump Game的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!