跳跃游戏 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;
    }
}
相关推荐
半个落月43 分钟前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
小月土星2 小时前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试
小月土星2 小时前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试
To_OC17 小时前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
鱼鱼不愚与1 天前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
复杂网络1 天前
论最小 Agent 计算机的形态
算法
kisshyshy2 天前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
猿人谷2 天前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络2 天前
Stable Diffusion 视觉大模型微调技术深度调研
算法