跳跃游戏 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;
    }
}
相关推荐
XianxinMao2 小时前
RLHF技术应用探析:从安全任务到高阶能力提升
人工智能·python·算法
hefaxiang3 小时前
【C++】函数重载
开发语言·c++·算法
exp_add33 小时前
Codeforces Round 1000 (Div. 2) A-C
c++·算法
查理零世4 小时前
【算法】经典博弈论问题——巴什博弈 python
开发语言·python·算法
神探阿航4 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
java·算法·蓝桥杯
皮肤科大白4 小时前
如何在data.table中处理缺失值
学习·算法·机器学习
不能只会打代码6 小时前
蓝桥杯例题一
算法·蓝桥杯
OKkankan6 小时前
实现二叉树_堆
c语言·数据结构·c++·算法
ExRoc8 小时前
蓝桥杯真题 - 填充 - 题解
c++·算法·蓝桥杯
利刃大大8 小时前
【二叉树的深搜】二叉树剪枝
c++·算法·dfs·剪枝