leetcode55.跳跃游戏 【贪心】

题目:

给你一个非负整数数组 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 , 所以永远不可能到达最后一个下标。

思路:

不能遍历依次遍历每个数字每种跳跃能否到达终点,这样的话会非常复杂。

答案思路:

遍历每个数字,看该数字的“覆盖范围” 能否覆盖到最后一个元素。如果可以覆盖到最后一个元素,则该数组可以跳跃到最后一个元素。

代码:

class Solution {
public:bool canJump(vector<int>& nums) {int n = nums.size();// 思路:遍历每个数字,这个数字覆盖的范围可以到最后一个数字,则返回true// 同时当前这个数字可以被之前的覆盖(当前数字可到达)if (n == 1)return true;int range = nums[0];int i;for (i = 1; i < n; i++) {if (range >= i) {    // 当前数字可到达int t = i + nums[i];    // 当前数字的覆盖范围range = max(t, range);    // 与之前数字的覆盖范围比较,取最大值,即最远覆盖范围// range = i + nums[i];}// 如果当前覆盖范围可以覆盖到最后一个数字,则最后一个数字可到达,返回true即可。if (range >= n - 1) {return true;}}// 遍历完之后发现,没有可以覆盖到最后一个数字的下标。则返回falsereturn false;}
};

运行结果:

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

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

相关文章

Rasa 多轮对话机器人

Rasa 开源机器人 目录 Rasa 开源机器人 1. 学习资料 2. Rasa 安装 2.1. rasa 简介 2.2. Rasa系统结构 ​编辑 2.3. 项目的基本流程 ​编辑 2.4. Rasa安装 2.5. 组件介绍 3. Rasa NLU 3.0. NLU 推理输出格式 3.1. 训练数据 ./data/nlu.yml 数据文件 3.2. ./confi…

css3对文字标签不同宽,不同高使用瀑布流对齐显示

<div class"wrapper" style"padding: 0;"><span class"wf-item task-tags text-center" v-for"(item,index) in data.categorys" :key"index">{{ item }}</span> </div>/* 名称瀑布流显示 */ .wrap…

【ES6】js中的__proto__和prototype

在JavaScript中&#xff0c;__proto__和prototype都是用于实现对象继承的关键概念。 1、proto __proto__是一个非标准的属性&#xff0c;用于设置或获取一个对象的原型。这个属性提供了直接访问对象内部原型对象的途径。对于浏览器中的宿主对象和大多数对象来说&#xff0c;可…

Ansible之变量

一&#xff09;Ansible变量介绍 我们在PlayBook⼀节中&#xff0c;将PlayBook类⽐成了Linux中的shell。 那么它作为⼀⻔Ansible特殊的语⾔&#xff0c;肯定要涉及到变量定义、控 制结构的使⽤等特性。 在这⼀节中主要讨论变量的定义和使⽤ 二&#xff09;变量命名规则 变量的…

【Windows 常用工具系列 11 -- 笔记本F5亮度调节关闭】

文章目录 笔记本 F 按键功能恢复 笔记本 F 按键功能恢复 使用笔记本在进行网页浏览时&#xff0c;本想使用F5刷新下网页&#xff0c;结果出现了亮度调节&#xff0c;如下图所示&#xff1a; 所以就在网上查询是否有解决这个问题的帖子&#xff0c;结果还真找到了&#xff1a;…

(数字图像处理MATLAB+Python)第十二章图像编码-第一、二节:图像编码基本理论和无损编码

文章目录 一&#xff1a;图像编码基本理论&#xff08;1&#xff09;图像压缩的必要性&#xff08;2&#xff09;图像压缩的可能性A&#xff1a;编码冗余B&#xff1a;像素间冗余C&#xff1a;心理视觉冗余 &#xff08;3&#xff09;图像压缩方法分类A&#xff1a;基于编码前后…

华为Mate 60系列安装谷歌服务框架,安装Play商店,Google

华为Mate 60 Pro悄悄的上架。但是却震撼市场的强势登场,Mate 60系列默认搭载的就是鸿蒙4.0。那么mate 60加上4.0是否可以安装谷歌服务框架呢&#xff1f;本机到手经过测试是可以安装的&#xff0c;但是在解决play非保护机制认证还通知这个问题上,他和鸿蒙3.0是不一样的。如果我…

(10)(10.8) 固件下载

文章目录 ​​​​​​​前言 10.8.1 固件 10.8.2 Bootloader 10.8.3 APM2.x Autopilot 10.8.4 许可证 10.8.5 安全 前言 固件服务器(firmware server)可提供所有飞行器的最新固件。其中包括&#xff1a; CopterPlaneRoverAntennaTrackerSub 本页提供了一些被视为&quo…

无锡布里渊——厘米级分布式光纤-锅炉安全监测解决方案

无锡布里渊——厘米级分布式光纤-锅炉安全监测解决方案 厘米级分布式光纤-锅炉安全监测解决方案 1、方案背景与产品简介&#xff1a; 1.1&#xff1a;背景简介&#xff1a; 锅炉作为一种把煤、石油或天燃气等化石燃料所储藏的化学能转换成水或水蒸气的热能的重要设备&#xff…

K8S:二进制部署K8S(两台master+负载均衡nginx+keepalived)

文章目录 一.常见的K8S部署方式1.Minikube2.Kubeadmin3.二进制安装部署 二.二进制搭建K8S(双台master)1.部署架构规划2.系统初始化配置3.部署 docker引擎4.部署 etcd 集群&#xff08;1&#xff09;etcd简介&#xff08;2&#xff09;准备签发证书环境&#xff08;3&#xff09…

Node.js 应用的御用品: Node.js 错误处理系统

开发中&#xff0c;有些开发者会积极寻求处理错误&#xff0c;力求减少开发时间&#xff0c;但也有些人完全忽略了错误的存在。正确处理错误不仅意味着能够轻松发现和纠正错误&#xff0c;而且还意味着能够为大型应用程序开发出稳健的代码库。 特别是对于 Node.js 开发人员&am…

【iOS】Category、Extension和关联对象

Category分类 Category 是 比继承更为简洁 的方法来对Class进行扩展,无需创建子类就可以为现有的类动态添加方法。 可以给项目内任何已经存在的类 添加 Category甚至可以是系统库/闭源库等只暴露了声明文件的类 添加 Category (看不到.m 文件的类)通过 Category 可以添加 实例…

zabbix配置钉钉告警、和故障自愈

钉钉告警python脚本 cat python20 #!/usr/bin/python3 #coding:utf-8 import requests,json,sys,os,datetime # 机器人的Webhook地址 webhook"钉钉" usersys.argv[1] textsys.argv[3] data{"msgtype": "text","text": {"conten…

uniapp集成windicss的流程

一、背景介绍 Windicss是一个基于Tailwind CSS 灵感的库,它更快、更兼容,使用 TypeScript 构建。Windicss的目标是为了解决与Tailwind CSS 类似的问题,提供一个可以快速上手开发的组件库,让开发者不再需要繁琐地编写 CSS 样式。Windicss包含了几乎所有的 CSS 样式,因此开发…

uniapp实现微信小程序全局可分享功能

uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】 主要使用 Vue.js 的 全局混入 1.创建一个全局分享的js文件。示例文件路径为&#xff1a;./utils/shareWx.js &#xff0c;在该文件中定义全局分享的内容&#xff1a; export default {data() {retur…

【C#项目实战】控制台游戏——勇士斗恶龙(1)

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;最近开始正式的步入学习游戏开发的正轨&#xff0c;想要通过写博客的方式来分享自己学到的知识和经验&#xff0c;这就是开设本专栏的目的。希望…

如何合并为pdf文件?合并为pdf文件的方法

在数字化时代&#xff0c;人们越来越依赖电子文档进行信息交流和存储。合并为PDF成为一种常见需求&#xff0c;它能将多个文档合而为一&#xff0c;方便共享和管理。无论是合并多个单页文档&#xff0c;还是将多页文档合并&#xff0c;操作都变得简单高效。那么。如何合并为pdf…

论文阅读《Nougat:Neural Optical Understanding for Academic Documents》

摘要 科学知识主要存储在书籍和科学期刊中&#xff0c;通常以PDF的形式。然而PDF格式会导致语义信息的损失&#xff0c;特别是对于数学表达式。我们提出了Nougat&#xff0c;这是一种视觉transformer模型&#xff0c;它执行OCR任务&#xff0c;用于将科学文档处理成标记语言&a…

【LeetCode-面试经典150题-day21】

目录 120.三角形最小路径和 64.最小路径和 63.不同路径Ⅱ 5.最长回文子串 120.三角形最小路径和 题意&#xff1a; 给定一个三角形 triangle &#xff0c;找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标…