贪心算法:55.跳跃游戏(C++)

2023-11-03

class Solution{
    public:
        bool canJump(vector<int>& nums) //注意:这里使用bool,函数返回的是布尔型变量,也就是问题要求的,判断是否可以
        {
            int cover=0;    //cover代表跳跃覆盖范围,最开始为0
            if(nums.size()==1)return true;
            for(int i=0;i<=cover;i++){  //原理是:不断更新cover值,也就是结果值,更新来源是传入的nums
                cover=max(i+nums[i],cover);//i+nums[i]表示“从当前位置开始”可以覆盖的最大范围,cover表示已经遍历过的位置表明从那个位置开始,能够到达的最远地方
                                           //max的意义在于如果从当前位置的覆盖范围还不如上一个,或者之前的,那就用之前的
                                           //比如【1,3,1】,cover=0,i+nums=1,到此,可覆盖范围是1,也就是cover=1,下一步
                                           //cover=1,i+nums=4,也就是从nums[1]=3这个位置开始,能到这个位置就能到1+3的位置,此时的最大覆盖范围是4,所以cover更新为4
                                           //比如【3,1,1】,cover=0,i+nums=0+3=3,所以cover=3,next
                                           //cover=3,i+nums=2,也就是从nums[1]=1这个位置开始能覆盖的是i+nums=1+1=2,所以不如直接从nums[0]出发直接到3,从nums[1]出发只能到2
                if(cover>=nums.size()-1) return true;

            }
            return false;

        }
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

贪心算法:55.跳跃游戏(C++) 的相关文章

随机推荐

  • 浅度学习模块化与解耦

    目录 1 为什么要模块化 2 模块设计原则 3 模块化开发的的优缺点 4 解耦与通信 4 1 公共模块的下层 4 2 面向接口调用 4 3 面向协议的调用 在开篇之前引用一句话 一派是说app开发并不需要什么狗P架构 第二派说我们有自己NB
  • 圈圈教你玩转USB第三版 光盘资料

    下载官网 http service buaapress com cn mzs file detail id 2199 key b2fec916cc9fa216abe6fc836e3f7e35
  • Swift中的‘open‘关键字是什么?

    本文翻译自 What is the open keyword in Swift The ObjectiveC swift file from the standard library contains the following few l
  • C语言基础代码(1)

    C语言是计算机及其相关专业学生必修的语言 我在大一下学期就已经学习了 前段时间 我又将谭浩强编写的C程序设计 也就是我C语言学习的课本看了一遍 温故而知新 受益良多 于是就萌发了一个想法 想将C语言学习当中一些基础的代码做一个总结归纳 在总
  • 牛客专项练习之设计模式

    开头先一句水平有限 仅供参考 有错误可以提醒我改一下 感谢 1 如果需要一个语言解释执行 并且可以将语言中的句子表示为一个抽象语法树的时候 对效率要求不高的情况下 应该选择何种设计模式 题目中的解释二字就告知选项 解释器模式 给定语言 定义
  • Nginx额外篇之一些错误解决办法

    错误1 配置了Nginx 但是打开页面是乱码 解决办法如下 在你个人的sever端添加如下2行 default type text html 设置内容输出内容型为 html htm shtml 三种类型 charset utf 8 设置字符
  • java导出word,红色的单元格背景色显示为黑色

    之前有这个问题 当我用正版office看导出word文件的时候 单元格背景是红色 当我换wps看导出的文件的时候 单元格背景是黑色的 离谱 所以我当初为了省事直接和客户说 请使用正版office 狗头 然后今天闲着没事情 再看ftl模板的时
  • 001问

    偶然间 我的好朋友问起我这个问题 我还真没有好好思考过这个问题 我查了Go语言圣经 知名博客 以及Go中文文档 发现都没有阐述这个问题 后来找来找去也只有下面的解释 for的初始化语句不能是任何类型的语句 必须是 简单语句 短变量声明 就是
  • Th5.6:智能指针(unique_ptr)之详述1

    本小节学习的知识点分别是智能指针 unique ptr 之详述 常用操作 今天总结的知识分为以下2个大点 1 unique ptr概述 常用操作 1 1 常规初始化 unique ptr和new配合 1 2 make unique 函数 2
  • 转:idea中language level设置

    一 idea中项目的language level的含义 language level指的是编译项目代码所用的jdk版本 那么 从这个定义出发会有两个小问题 第一 如果project sdk是jdk8 那么language level应该是多
  • 在顺序表中插入元素_C语言 一看就懂

    一看就懂的数据结构带注释 数据结构 在顺序表中插入元素 C语言版 头文件和定义结构体 include
  • ECOLOGY 9.0 新增SAP批量选择功能并将数据填充到明细表

    需求来了 在明细表一的抬头处增加SAP多选功能 如下图 1 打开明细表一 2 打开集成按钮 3 右键后 点击批量编辑 4 点击明细表1后 继续点击多选浏览按钮配置SAP接口 5 配置SAP接口函数 6 字段配置完了后 勾选要显示的字段 不然
  • Qt 判断信号是否绑定了

    本文介绍Qt的信号是否被连接了和信号槽之间的参数是否一致的判断方法 1 判断信号是否正确连接 通过判断connect的返回值是否为true 1 bool ok connect this SIGNAL signal1 this SLOT sl
  • 如何选择云上业务的安全防护产品?

    古人云 没有绝对的安全 只有相对的安全 云计算作为业务的部署方式 已经逐渐被人们所接受 云模式也逐渐成为很多企业的重要选择 如何保证云上业务系统的安全 已经成为每一个上云企业必须要面对的问题 作为一个对安全技术不是那么专业的运维管理人员 如
  • 图片识别工具Tesseract介绍和python搭配使用

    Tesseract介绍和Python的搭配使用 一 Tesseract介绍 下载指南 1 了解Tesseract工具 2 下载地址 3 请注意 二 环境搭建 2 1 版本3 05安装 2 2 最新版本安装 2 3 环境搭建 2 4 举个栗子
  • Keil5 出现error: #28:expression must have a constant value的解决办法

    我们在进行编译的时候可能会出现下图的错误 出现这种错误的话 可能是以下两种问题情况 1 可能是在对变量应用的时候没有进行先声明后调用 这是编译器自身的问题 我们可以去Options for Target 选择C C 再勾选C99 Mode就
  • SQL 增、删、改、查基本语法

    create table student stid int primary key auto increment stname VARCHAR 20 stbirth DATE auto increment 1000 插入数据 insert
  • mysql下载地址

    点击下载
  • Java赛马程序

    编写一个多线程的控制程序 称为赛马程序 创建分别代表两匹马的两个线程 并将它们设置为高低不同的优先级 并以进度条的形式显示赛马过程 没几天Java要考试了 紧急学习一下再把之前参考 10条消息 Java多线程 进度条实现赛马实验 shall
  • 贪心算法:55.跳跃游戏(C++)

    class Solution public bool canJump vector