当前位置: 首页 > article >正文

55.跳跃游戏

原题链接:55.跳跃游戏

思路:
看代码注释

全代码:

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int cover = 0;
        if (nums.size() == 1) return true; // 只有一个元素,就是能达到
        for (int i = 0; i <= cover; i++) { // 注意这里是小于等于cover
        //能跳i+nums[i]步,那么也代表i ~nums[i]中间的步数可以任选
        //所以cover是max(i + nums[i],cover)
        //然后cover一旦大于等于那么就可以覆盖到终点
            cover = max(i + nums[i], cover);
            //需要-1  因为是最后一个元素下标是size()-1
            if (cover >= nums.size() - 1) return true; // 说明可以覆盖到终点了
        }
        return false;
    }
};

http://www.kler.cn/a/144503.html

相关文章:

  • 医保线上购药系统:代码驱动的医疗创新
  • C语言结构、联合和枚举
  • Vue组件基础
  • Springboot websocket前端无法访问到,Websocket因AOP代理 前端无法请求到
  • Leetcode—45.跳跃游戏II【中等】
  • Oracle数据库语句大全
  • Lua实现面向对象三大特性
  • python通过继承、组合、委托组织类
  • 【数据结构】用C语言实现顺序栈(附完整运行代码)
  • JMeter 设置请求头信息的详细步骤
  • leetcode刷题详解——买卖股票的最佳时机含手续费
  • 25. Spring源码篇之SpEL表达式
  • Python实现一箭穿心
  • Jensen不等式
  • Python基础入门例程75-NP75 使用字典计数(字典)
  • #Js篇:async函数await 命令
  • 2016年11月16日 Go生态洞察:Go字体的创新之旅
  • docker部署MySQL5.7设置密码和远程访问的方法
  • Unity中Shader的Standard材质解析(二)
  • windows版本的grafana如何离线安装插件