1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 45. Jump Game II(跳跃游戏II)

45. Jump Game II(跳跃游戏II)

时间:2022-12-15 18:32:27

相关推荐

45. Jump Game II(跳跃游戏II)

原题链接:/problems/jump-game-ii/

这道题比较适合用贪心来做,局部的最优解最后刚好是整体的最优解。

如下图,开始的位置是 2,可跳的范围是橙色的。然后因为 3 可以跳的更远,所以跳到 3 的位置。

如下图,然后现在的位置就是 3 了,能跳的范围是橙色的,然后因为 4 可以跳的更远,所以下次跳到 4 的位置。

写代码的话,我们用 end 表示当前能跳的边界,对于上边第一个图的橙色 1,第二个图中就是橙色的 4,遍历

数组的时候,到了边界,我们就重新更新新的边界。

4ms O(n) O(1)

class Solution {public int jump(int[] nums) {if(nums.length<2)return 0;int maxPos=0,end=0,count=0;for(int i=0;i<nums.length-1;i++){maxPos=Math.max(maxPos,i+nums[i]);if(i==end){end=maxPos;count++;}}return count;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。