跳跃游戏 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;
    }
}
相关推荐
艾莉丝努力练剑4 小时前
【数据结构与算法】数据结构初阶:详解顺序表和链表(四)——单链表(下)
c语言·开发语言·数据结构·学习·算法·链表
yngsqq5 小时前
移动碰撞法 ——套料排版算法——CAD c#
算法
秋说6 小时前
【PTA数据结构 | C语言版】根据层序序列重构二叉树
c语言·数据结构·算法
秋说7 小时前
【PTA数据结构 | C语言版】前序遍历二叉树
c语言·数据结构·算法
会唱歌的小黄李8 小时前
【算法】贪心算法:最大数C++
c++·算法·贪心算法
NuyoahC8 小时前
笔试——Day8
c++·算法·笔试
墨染点香8 小时前
LeetCode Hot100 【1.两数之和、2.两数相加、3.无重复字符的最长子串】
算法·leetcode·职场和发展
秋说9 小时前
【PTA数据结构 | C语言版】二叉树层序序列化
c语言·数据结构·算法
地平线开发者9 小时前
开发者说|Aux-Think:为什么测试时推理反而让机器人「误入歧途」?
算法·自动驾驶
Tiny番茄9 小时前
46. 携带研究材料(01背包二维数组)
算法·动态规划