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

leetcode 45. 跳跃游戏 II

2023.7.30

class Solution {
public:int jump(vector<int>& nums) {int step = 0;int cover = 0;int largest = 0;if(nums.size() == 1) return step;for(int i=0; i<nums.size(); i++){cover = max(cover , i+nums[i]); //最大覆盖范围if(cover >= nums.size()-1) return step+1; if(largest == i) //需要开始新的一步{step++;largest = cover;}}step++;return step;}
};

         本题为 跳跃游戏I 的升级版,保证可以到达终点的情况下,要求出最短的跳跃次数。

        还是仿照 跳跃游戏I 的思路,定义一个cover用于记录最大覆盖范围,终止条件是:        cover >= nums.size()-1  ,还要定义一个变量largest用于记录当前最远覆盖范围的下标,当i遍历到largest时,就要开始新的一步,即step++。

        下面看代码:

class Solution {
public:int jump(vector<int>& nums) {int step = 0;int cover = 0;int largest = 0;if(nums.size() == 1) return step;for(int i=0; i<nums.size(); i++){cover = max(cover , i+nums[i]); //最大覆盖范围if(cover >= nums.size()-1) return step+1; //终止条件if(largest == i) //需要开始新的一步{step++;largest = cover;}}step++;return step;}
};

http://www.lryc.cn/news/102196.html

相关文章:

  • 力扣热门100题之矩阵置0【中等】
  • 【机器学习】Classification using Logistic Regression
  • 全方位支持图文和音视频、100+增强功能,Facebook开源数据增强库AugLy
  • RxSwift 使用方式
  • HTML5 Web Worker
  • 25.9 matlab里面的10中优化方法介绍—— 惩罚函数法求约束最优化问题(matlab程序)
  • django channels实战(websocket底层原理和案例)
  • 学习使用axios,绑定动态数据
  • c语言内存函数的深度解析
  • 低代码平台介绍(国内常见的)
  • matlab RRR机械臂 简略代码
  • 集成测试,单元测试隔离 maven-surefire-plugin
  • 渗透测试基础知识(1)
  • Android NDK开发
  • 使用python爬取淘宝商品信息
  • QEMU源码全解析18 —— QOM介绍(7)
  • 【华为OD机试】 选修课
  • 225. 用队列实现栈
  • IDEA将本地项目上传到码云
  • Ubuntu更改虚拟机网段(改成桥接模式无法连接网络)
  • 谷粒商城第七天-商品服务之分类管理下的删除、新增以及修改商品分类
  • Redis学习路线(1)—— Redis的安装
  • 《MySQL 实战 45 讲》课程学习笔记(五)
  • 使用GADL对高程数据进行填洼
  • Spring Boot集成Swagger3.0,Knife4j导出文档
  • 在.NET Framework中的连接字符串ConnectionStrings属性
  • kafka消费报错卡死:内存溢出OutOfMemoryError: Java heap space
  • mac卸载与安装指定版本node
  • 机器学习深度学习——Dropout
  • Intel和AMD 与 x86,ARM,MIPS有什么区别?