LeetCode刷题——55. 跳跃游戏(HOT100)

✊✊✊🌈大家好!本篇文章将较详细介绍贪心相关的题目55. 跳跃游戏,提供两种解法。代码语言为:C++代码😇。


🎡导航小助手🎡

    • 55. 跳跃游戏
      • 🔒1、题目:
      • ☀️2、解法一:
      • 🔑3、代码:
      • ☀️4、解法二:
      • 🔑5、代码:

55. 跳跃游戏

🔒1、题目:

给你一个非负整数数组 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 <= nums.length <= 104
  • 0 <= nums[i] <= 105

来源:力扣(LeetCode)👈

☀️2、解法一:

对每个能作为起跳点的格子都尝试一下,不断更新能跳到的最远距离
1.循环遍历所有格子,途中判断当前距离是否大于能跳到的最远距离,若大于,则返回false
2.遍历结束,则说明能一直跳到最后,返回true

复杂度分析
⏳时间复杂度 O(N) :一次遍历nums数组。
🏠空间复杂度 O(1)

🔑3、代码:

class Solution {
public:bool canJump(vector<int>& nums) {int cover = 0;for (int i = 0; i < nums.size(); i++) {if (i > cover) return false;cover = max(cover, i + nums[i]);}return true;}
};

☀️4、解法二:

1.i每次移动只能在能跳到的最远距离 cover 内移动,每移动一次,更新一下cover最大值, 让i继续移动下去。
2.如果cover大于等于终点,返回true
复杂度分析
⏳时间复杂度 O(N) :一次遍历nums数组。
🏠空间复杂度 O(1)

🔑5、代码:

class Solution {
public:bool canJump(vector<int>& nums) {int cover =0;for(int i = 0; i <= cover; i++){cover = max(cover, nums[i]+i);if(cover >= nums.size()-1) return true;}return false;}
};

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

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

相关文章

Win10 打开文件突然鼠标变成一个蓝色大圈卡住点不了也打不开文件,重启电脑也是这样

环境: Win10 专业版 加密客户端环境 问题描述: Win10 打开桌面word文件突然鼠标变成一个蓝色大圈卡住点不了也打不开文件,重启电脑也是这样,只有蓝色圈变大没有鼠标指针出现圈卡着不会动,和那些有鼠标箭头加小蓝色圈不一样 解决方案: 某网上查看的,还是要自己排查…

linux 更新镜像源

打开终端&#xff0c;备份一下旧的 源 文件&#xff0c;以防万一 cd /etc/apt/ ls sudo cp sources.list sources.list.bak ls然后打开清华大学开源软件镜像站 搜索一下你的linux发行版本&#xff0c;我这里是ubuntu发行版本 点击这个上面图中的问号 查看一下自己的版本号&a…

MySQL复合查询解析

&#x1f388;行百里者半九十&#x1f388; &#x1f388;目录&#x1f388; 概念多表查询自连接子查询单行子查询多行子查询in关键字all关键字any关键字 多列子查询在from中使用子查询合并查询unionunion all 总结 概念 之前我们很多的查询都只是对于单表进行查询&#xff0c…

飞书修改不了名称?飞书如何修改名称,修改昵称

飞书如何修改名称 点击编辑信息 在这里修改姓名就可以啦

Day31 46全排列 47全排列II 回溯去重tips 51N皇后 37解数独

46 全排列 给定一个 没有重复 数字的序列&#xff0c;返回其所有可能的全排列。 示例: 输入: [1,2,3]输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 排列问题与组合问题的不同之处就在于&#xff0c;没有startIndex&#xff0c;同时需要设置一个used数组…

Linux———netstat命令总结详解(狠狠爱住)

netstat 命令&#xff1a; 是一个常用的网络工具&#xff0c;在 Linux 系统中用于查看网络连接、路由表、网络接口统计信息等。通过 netstat 命令&#xff0c;你可以获取当前系统中网络相关的各种信息。 基本语法&#xff1a; netstat [OPTIONS] 其中 OPTIONS 是选项&#…

tp6框架中Http类 请求的header、body参数传参 及post、file格式

引入Http类&#xff1a; 在需要使用的地方引入Http类&#xff1a; use think\facade\Http; GET请求示例&#xff1a;$response Http::get(https://example.com/api/resource); 设置Header参数&#xff1a; $headers [ Authorization > Bearer YourAccessToken, Conte…

什么是站群服务器?

网站群服务器是管理多个网站的强大工具&#xff0c;可以帮助站长轻松管理和维护多个网站&#xff0c;提高网站运营效率。在本文中&#xff0c;我们将讨论站点组服务器的优势&#xff0c;以及为什么它是网站管理员不可或缺的工具。 介绍站群服务器 网站群服务器是一个集中管理…

Ant Design Vue上传多个图片

模板代码&#xff1a; 定义变量&#xff1a; 文件限制的函数&#xff1a; 上传的函数&#xff1a; 样式函数&#xff1a; 完整代码&#xff1a; <template><div class"dialog-upload" v-if"showUploadDialog"><div class"dialog-uplo…

【PIE-Engine 数据资源】全球 10 米土地覆盖产品 (ESA-2020)

文章目录 一、 简介二、描述三、波段四、示例代码参考资料 一、 简介 数据名称全球 10 米土地覆盖产品 (ESA-2020)时间范围2020年空间范围全球数据来源ESA WorldCover project 2020代码片段var imagespie. ImageCollection (“ESA/WORLD_COVER_2020”) 二、描述 全球 10 米土…

【知识---c++中chrono头文件中的含有的有关时间的函数】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言auto start std::chrono::system_clock::now();auto end std::chrono::system_clock::now();std::chrono::duration_cast<std::chrono::milliseconds>(…

nvm, node.js, npm, yarn 安装配置

文章目录 nvm 安装node.js 安装npm yarn 配置 nvm 安装 nvm 是一个 node.js 管理工具&#xff0c;可以快捷下载安装使用多个版本的node.js linux 命令行输入&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashwget -qO- https…

主机自动重启或自动关机故障

公司有两台品牌机&#xff0c;使用约1年半&#xff0c;最近频繁出现自动重启或自动关机现象。 排除插线板、电源线等电源的问题&#xff0c;拆机查看。 故障后的主机拆开后&#xff0c;先摸了一下散热片&#xff0c;并不烫手。 仔细查看内部&#xff0c;排线规整&#xff0c…

base64编码与图片之间相互转换

题记&#xff1a; Base64是网络上最常见的用于传输8Bit字节码的编码方式之一 1、将base64转换成图片 <img src"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0 DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg&quo…

白码ERP实现销售订单自动生成生产订单功能

某ERP项目中&#xff0c;业务员创建销售单后&#xff0c;还需要确认产品库存是否充足&#xff0c;如不充足&#xff0c;还需要手动创建生成订单通知车间进行生产&#xff0c;比较麻烦&#xff0c;客户希望系统可以自动进行判断&#xff0c;自动根据现有库存生成生产订单。 目标…

Pyside6入门教学——编写一个UI界面并显示

1、安装Pyside6 输入下列命令安装Pyside6。 pip install Pyside6 2、设计UI 打开Qt设计工具&#xff08;在安装Pyside6包的目录下&#xff09;。 【注】我这用的是anaconda虚拟环境&#xff0c;所以我的路径是D:\App\Anaconda3\envs\snake\Lib\site-packages\PySide6。设计…

三使用Docker Hub管理镜像

使用Docker Hub管理镜像 Docker Hub是Docker官方维护的Docker Registry&#xff0c;上面存放着很多优秀的镜像。不仅如此&#xff0c;Docker Hub还提供认证、工作组结构、工作流工具、构建触发器等工具来简化我们的工作。 前文已经讲过&#xff0c;我们可使用docker search 命…

124 二叉搜索树的后序遍历序列

问题描述&#xff1a;输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后续遍历结果。 递归方式求解&#xff1a;对于后续遍历而言&#xff0c;其顺序是左子节点->右子节点->根节点&#xff0c;而根据二叉搜索树的特点&#xff0c;左子树比根节点小&#xf…

freemaker导出

一、创建ftl模板文件 1、将xls文件转换为xml格式 需要将xml中内容格式化一下&#xff0c; 在线 XML 格式化 | 菜鸟工具 (jyshare.com) 将格式化好的内容&#xff0c;保存在 ftl 文件中&#xff0c;放入项目文件。 二、后端对数据做组装 Java代码中对导出文件做赋值 Override…

k8s之对外服务ingress

一、service 1、service作用 ①集群内部&#xff1a;不断跟踪pod的变化&#xff0c;不断更新endpoint中的pod对象&#xff0c;基于pod的IP地址不断变化的一种服务发现机制&#xff08;endpoint存储最终对外提供服务的IP地址和端口&#xff09; ②集群外部&#xff1a;类似负…