资讯详情

力扣55跳跃游戏(贪心)

📅 2026/10/10 2:54:29 | 华诺云谱 👁 阅读
力扣55跳跃游戏(贪心)
55. 跳跃游戏 - 力扣LeetCode仔细理解对于每一个可以到达的位置 x它使得 x1,x2,⋯,xnums[x] 这些连续的位置都可以到达上代码:public class Solution { public boolean canJump(int[] nums) { int n nums.length; int rightmost 0; // 目前能跳到的最远下标 for (int i 0; i n; i) { // 条件i这个位置本身是可以到达的才可以从i起跳 if (i rightmost) { // 更新最远可达位置从i出发最多跳到 i nums[i] rightmost Math.max(rightmost, i nums[i]); // 如果最远已经覆盖终点直接返回true if (rightmost n - 1) { return true; } } } return false; } }判断是否能到达最后一个下标则先从第一个数字开始以题中示例nums [2,3,1,1,4]第一轮循环 i 0 0 rightmost,令rightmost nums[i] nums[0] 2取更大值第二轮循环 i 1 2 , 令rightmost nums[i] nums[1] 3×3 1 44已经支持到达最后一个数字了所以后面不用继续了直接返回true反之中途不合要求则false补充讲解if (i rightmost)含义i这个位置本身是可以到达的才可以从i起跳但是本来不是跳到最远可以接着按照跳到的当前位置的数字接着跳吗照他这样岂不是只能跳一次实则下面已经用代码更新可达位置了所以跟自己的“跳了又跳”效果一样的rightmost Math.max(rightmost, i nums[i]);
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑