跳跃游戏 II【贪心算法】

  1. 跳跃游戏 II

java 复制代码
class Solution {
    public int jump(int[] nums) {
        int cur = 0;//当前最大覆盖路径
        int next = 0;//下一步的最大覆盖路径
        int res = 0;//存放结果,到达终点时最少的跳跃步数
        for (int i = 0; i < nums.length; i++) {//遍历数组,以给出数组以一个元素往后遍历
                next = Math.max(i + nums[i], next);//遍历数组时,先进行当前元素的下一步覆盖最大路径计算
                if (i == cur) {//遍历到当前覆盖路径的最后一个索引位置
                    if (cur != nums.length - 1) {//如果还没有到达终点
                    res++;
                    cur = next;//更新当前覆盖最大路径
                    if (cur >= nums.length - 1) {//如果当前覆盖路径已可以到达终点
                        return res;
                    }
                }
            }
        }
        return res;
    }
}
相关推荐
JustCouvrir1 小时前
代码随想录算法训练营Day5
算法
周哈里窗的编程2 小时前
CSP-CCF★201912-2回收站选址★
c++·算法·图论
SpongeG3 小时前
数据结构第三周做题总结_链表
数据结构·算法·链表
everyStudy3 小时前
前端五种排序
前端·算法·排序算法
little redcap5 小时前
第十九次CCF计算机软件能力认证-乔乔和牛牛逛超市
数据结构·c++·算法
muyierfly5 小时前
34.贪心算法1
算法·贪心算法
luthane8 小时前
python 实现average mean平均数算法
开发语言·python·算法
静心问道8 小时前
WGAN算法
深度学习·算法·机器学习
杰九8 小时前
【算法题】46. 全排列-力扣(LeetCode)
算法·leetcode·深度优先·剪枝
manba_8 小时前
leetcode-560. 和为 K 的子数组
数据结构·算法·leetcode