(数组 / 字符串) 55. 跳跃游戏 ——【Leetcode每日一题】

❓ 55. 跳跃游戏

难度:中等

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false

示例 1:

输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:

输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

提示

  • 1 < = n u m s . l e n g t h < = 1 0 4 1 <= nums.length <= 10^4 1<=nums.length<=104
  • 0 < = n u m s [ i ] < = 1 0 5 0 <= nums[i] <= 10^5 0<=nums[i]<=105

💡思路:直接法

  1. 如果某一个下标作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点
  2. 所以可以对每一个能作为 起跳点 的格子都尝试跳一次,并把 能跳到最远的位置 flag 不断更新;
  3. 如果可以一直跳到最后,就能够到达最后一个下标。

🍁代码:(C++、Java)

C++

class Solution {
public:bool canJump(vector<int>& nums) {int flag  = 0; // 能跳到的最远位置for(int i = 0; i < nums.size(); i++){if(i > flag) return false;flag = max(flag, i + nums[i]);}return true;}
};

Java

class Solution {public boolean canJump(int[] nums) {int flag  = 0; // 能跳到的最远位置for(int i = 0; i < nums.length; i++){if(i > flag) return false;flag = Math.max(flag, i + nums[i]);}return true;}
}
🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:
  • 时间复杂度 O ( n ) O(n) O(n),其中 n 为数组的长度。只需要访问 nums 数组一遍,共 n 个位置。
  • 空间复杂度 O ( 1 ) O(1) O(1),不需要额外的空间开销。

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我LeetCode主页 / CSDN—力扣专栏,每日更新!

注: 如有不足,欢迎指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【基于Qt和OpenCV的多线程图像识别应用】

基于Qt和OpenCV的多线程图像识别应用 前言多线程编程为什么需要多线程Qt如何实现多线程线程间通信 图像识别项目代码项目结构各部分代码 项目演示小结 前言 这是一个简单的小项目&#xff0c;使用Qt和OpenCV构建的多线程图像识别应用程序&#xff0c;旨在识别图像中的人脸并将…

软件可靠性基础

软件可靠性基础 软件可靠性基本概念串并联系统可靠性计算软件可靠性测试软件可靠性建模软件可靠性管理软件可靠性设计容错&#xff0c;检错的技术 选择题考基本概念&#xff08;MTBF&#xff09;&#xff0c;很少考 非重点 软件可靠性基本概念 这个章节中&#xff0c;第一个…

【数据库——MySQL】(6)查询(1)

目录 1. 数据库查询1.1 输出项为列名1.2 输出项为表达式1.3 输出内容变换1.4 消除输出项的重复行1.5 聚合函数 2. 查询条件&#xff1a;逻辑条件2.1 比较运算2.2 模式匹配2.3 范围限定2.4 空值判断 3. 分组3.1 基本分组3.2 分组汇总 4. 分组后筛选5. 输出行排序5.1 ORDER BY5.2…

识别车牌的代码分享

接口 接口为车牌的自动定位和识别,返回地域编号和车牌号车牌颜色: # pip install poocr import poocr # 可以填写本地图片的地址:img_path,也可以填写在线图片的地址:img_url # 如果2个都填,则只用在线图片img_url # configPath是配置文件的信息,可以不填 Number…

找高清、4K图片素材就上这6个网站,免费下载!

不会还有人找图片素材直接上网去搜吧&#xff0c;告诉你们6个网站&#xff0c;轻松找到想要的图片素材&#xff0c;不仅质量高&#xff0c;还可以免费下载&#xff0c;重点是还可以商用。赶紧收藏起来吧~ 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYwNDUx 网站主要为…

Scrapy+Selenium自动化获取个人CSDN文章质量分

前言 本文将介绍如何使用Scrapy和Selenium这两个强大的Python工具来自动获取个人CSDN文章的质量分数。我们将详细讨论Scrapy爬虫框架的使用&#xff0c;以及如何结合Selenium浏览器自动化工具来实现这一目标。无需手动浏览每篇文章&#xff0c;我们可以轻松地获取并记录文章的…

查询PCIE设备的VID,DID,SVID,SDID

查询PCIE设备的VID,DID,SVID,SDID &#xff08; Vendor ID、 Device ID、Subsystem Vendor ID、Subsystem Device ID &#xff09; [rootlocalhost ~]# lspci -s 04:00.0 -xxxvvv 04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)C…

Docker部署ElasticSearch数据库+analysis-ik分词器插件

文章目录 一、部署ElasticSearch数据库二、添加分词器插件(analysis-ik)三、测试ElasticSearch数据库analysis-ik分词器插件 一、部署ElasticSearch数据库 1、准备工作 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.6 Pwd"/data/software/elasticse…

Casper Network 构建企业级区块链生态的野望

Casper Network 是基于 Layer1 且图灵完备 Wasm 的智能合约平台&#xff0c;它由唯一可操作的 CBC-Casper Proof-of-Stake (PoS) 共识算法&#xff08;称为 Highway&#xff09;支持&#xff0c;该网络是一个无需许可、去中心化的公共区块链。 Casper Network 主网在 2021 年 4…

架构案例-架构真题2016(四十)

&#xff08;2016&#xff09;嵌入式处理器是嵌入式系统的核心部件&#xff0c;一般可分为嵌入式微处理器&#xff08;MPU&#xff09;微控制器&#xff08;MCU&#xff09;、数字信号处理器&#xff08;DSP&#xff09;和片上系统&#xff08;SOC&#xff09;。以下叙述中&…

一篇文章让你熟悉unordered_map及其模拟实现

熟悉unordered_map及其模拟实现 unordered_map的定义1. unordered_map的模板定义2. unordered_map的成员类型 unordered_map构造函数unordered_map赋值运算符重载unordered_map容量函数&#xff08;Capacity&#xff09;unordered_map迭代器&#xff08;Iterators&#xff09;1…

慢性疼痛治疗服务公司Kindly MD申请700万美元纳斯达克IPO上市

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉,慢性疼痛治疗服务公司Kindly MD近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纳斯达克IPO上市&#xff0c;股票代码为&#xff08;KDLY&#xff09;,Kindly MD计划通过…

通信协议:Uart的Verilog实现(下)

4、UART接收器 UART接收器负责接收串行比特流&#xff0c;去除起始位和停止位&#xff0c;并以并行格式将数据保存到与主机数据总线相连的寄存器里。接收器无法获得发送时钟&#xff0c;因此尽管数据以标准比特率到达&#xff0c;但数据未必与接收主机内的时钟同步。同步问题可…

面试算法13:二维子矩阵的数字之和

题目 输入一个二维矩阵&#xff0c;如何计算给定左上角坐标和右下角坐标的子矩阵的数字之和&#xff1f;对于同一个二维矩阵&#xff0c;计算子矩阵的数字之和的函数可能由于输入不同的坐标而被反复调用多次。例如&#xff0c;输入图2.1中的二维矩阵&#xff0c;以及左上角坐标…

python机器学习融合模型:Stacking与Blending(附代码)_论文_模型竞赛_企业建模

大家好&#xff0c;今天给大家总结归纳了python机器学习融合模型&#xff1a;Stacking与Blending&#xff08;附代码&#xff09;。 1 堆叠法Stacking 一套弱系统能变成一个强系统吗&#xff1f; 当你处在一个复杂的分类问题面前时&#xff0c;金融市场通常会出现这种情况&…

自定义热加载:如何不停机实现核心代码更新

文章目录 1. 常见的几种实现代码热更新的几种方式对于开发环境我们可以使用部署环境1. 使用 Arthas 的 redefine 命令来加载新的 class 文件2. 利用 URLClassLoader 动态加载3. 通过Java的Instrumentation API 也是可以实现的 2. 实现1. ClassScanner扫描目录和加载类2. 定时任…

Mybatis学习笔记7 参数处理专题

Mybatis学习笔记6 使用时的一些小技巧_biubiubiu0706的博客-CSDN博客 1.单个简单类型参数 2.Map参数 3.实体类参数 4.多参数 5.Param注解(命名参数) 6.Param源码分析 建表 插入点数据 新建模块 pom.xml <?xml version"1.0" encoding"UTF-8"?&…

SpringBoot 学习(七)Swagger

7. Swagger 7.1 简介 便于前后端集成联调RestFul Api 文档在线生成工具 > Api 文档与 Api 定义同步更新直接运行&#xff0c;在线测试 Api 接口 7.2 springboot 集成 swagger (1) 导入依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger…

2001-2021年上市公司基于Jones 修正模型的盈余管理测度(含原始数据+stata 计算代码)

2001-2021年上市公司基于Jones 修正模型的盈余管理测度&#xff08;含原始数据stata 计算代码&#xff09; 1、时间&#xff1a;2001-2021 年 3、范围&#xff1a;沪深 A 股上市公司 4、指标&#xff1a;经营活动现金流、总资产、净利润、总收入、固定资产、应收账款、盈余管…

如何快速做跨业务测试?

当业务任务多且人力资源不充足的情况下&#xff0c;不同业务的同学可能需要去不同的业务进行临时支援&#xff0c;可能在时间方面有长有短&#xff0c;但是如何迈出第一步是很多人需要关心的一件事。 本文以实际跨业务测试经验&#xff08;订单业务测试人员如何测试售后业务&a…