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

Leecode热题100---55:跳跃游戏(贪心算法)

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

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

在这里插入图片描述
贪心算法
思路
尽可能到达最远位置(贪心)。
如果能到达某个位置,那一定能到达它前面的所有位置。

C++

class Solution
{
public:bool canJump(vector<int>& nums){int n = nums.size();int r = 0;		// 当前能跳到的最远位置for (int l = 0;l < n;l++){if(l > r)	// 若跳不到l,则一定跳不到 n-1,即:若中间有任一点跳不到,则一定跳不到最后{return false;}r = max(r, l+nums[l]);	// 更新当前最远位置}return true;}
};

python
思路同上

# enumerate(iteration, start)# 函数默认包含两个参数,其中iteration参数为需要遍历的参数,比如字典、列表、元组等,start参数为开始的参数,默认为0(不写start那就是从0开始)。# enumerate函数有两个返回值,第一个返回值为从start参数开始的数,第二个参数为iteration参数中的值。class Solution:def canJump(self,nums):max_i = 0		# 初始化当前能到达最远的位置# i为当前位置,jump是当前位置的跳数for i, jump in enumerate(nums):# 如果当前位置能到达,并且当前位置+跳数>最远位置if max_i >= i and i+jump > max_i:# 更新最远能到达位置max_i = i+jump# 比较最远位置和数组长度return max_i >= i

相关文章:

  • C++的模板(七):左值强制类型转换
  • ​Java基础复习笔记 第16章:网络编程
  • Ansible自动化运维中的Setup收集模块应用详解
  • 码蹄集部分题目(2024OJ赛16期;单调栈集训+差分集训)
  • 数据结构——栈(详细分析)
  • 渗透测试 一个很奇怪的支付漏洞
  • Day17学习Java
  • 1小时从0开始搭建自己的直播平台(详细步骤)
  • BGP策略实验
  • 向传音手机学习产品市场定位与产品需求定义
  • 数字签名:确保信息完整性和身份验证的关键技术
  • C++入门:从C语言到C++的过渡(2)
  • doxygen 1.11.0 使用详解(九)——包含公式
  • 技术周总结 2024.05.20~05.26 (Java架构师 数据库理论 MyBatis)
  • 1098: 堆的判断
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【css3】浏览器内核及其兼容性
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Babel配置的不完全指南
  • Invalidate和postInvalidate的区别
  • Java-详解HashMap
  • Promise面试题,控制异步流程
  • React+TypeScript入门
  • Yeoman_Bower_Grunt
  • 技术胖1-4季视频复习— (看视频笔记)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 数组的操作
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #window11设置系统变量#
  • #数据结构 笔记一
  • (poj1.3.2)1791(构造法模拟)
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (多级缓存)缓存同步
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (十五)使用Nexus创建Maven私服
  • (一一四)第九章编程练习
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .Net Core 笔试1
  • .Net Core和.Net Standard直观理解
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net framework profiles /.net framework 配置
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET/C# 使用反射注册事件
  • .net6 webapi log4net完整配置使用流程
  • .NET序列化 serializable,反序列化
  • @Autowired标签与 @Resource标签 的区别
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @ohos.systemParameterEnhance系统参数接口调用:控制设备硬件(执行shell命令方式)
  • [] 与 [[]], -gt 与 > 的比较
  • []T 还是 []*T, 这是一个问题