LeetCode:79.跳跃游戏Ⅱ

目录

1.跳跃游戏Ⅱ


1.跳跃游戏Ⅱ

这道题与上一道不同在于肯定可以跳跃过去,计算步数,我们用一个end来保存边界,如果说已经走到了end的话,想要再向前走就必须要再跳一次

每次在上次能跳到的范围(end)内选择一个能跳的最远的位置(也就是能跳到maxpos位置的点)作为下次的起跳点

cpp 复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        int n = nums.size(), maxpos = 0, end = 0, step = 0;
        for(int i = 0; i < n - 1; i++)
        {
            if(i <= maxpos)
            {
                maxpos = max(maxpos, i + nums[i]);
                if(i == end)
                {
                    end = maxpos;
                    step++;
                }
            }
        }
        return step;
    }
};
相关推荐
Q741_1472 小时前
C++ 位运算 高频面试考点 力扣 268. 丢失的数字 题解 每日一题
c++·算法·leetcode·面试·位运算
未知陨落2 小时前
LeetCode:74.数组中的第K个最大元素
算法·leetcode
电子_咸鱼2 小时前
LeetCode-hot100——验证二叉搜索树
开发语言·数据结构·c++·算法·leetcode·深度优先
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 56: 全排列II、话号码的字母组合
数据结构·算法·leetcode·决策树·链表·职场和发展·深度优先
Imxyk2 小时前
Codeforces Round 1052 (Div. 2) C. Wrong Binary Searchong Binary Search
c语言·c++·算法
Yunfeng Peng2 小时前
1- 十大排序算法(选择排序、冒泡排序、插入排序)
java·算法·排序算法
多看书少吃饭2 小时前
前端实现抽烟识别:从算法到可视化
前端·算法
MMjeaty3 小时前
特殊矩阵的压缩存储
算法·矩阵
断剑zou天涯3 小时前
【算法笔记】二叉树递归解题套路及其应用
java·笔记·算法