Leetcode55LeetCode45

题目

55. 跳跃游戏 

思路

一看跳跃,自然想到动态规划。去看了题解发现可以将该问题进行转化,记录每个下标能达到的最远距离,要是这个最远距离超过了数组长度则说明能够到达终点。真的很巧妙!但是最开始自己写,想的是用一个队列来装可到达的下标,有点麻烦,发现是因为循环的边界设置出了问题,当循环条件应该时i<=max 而不是i < len!

代码

public boolean canJump(int[] nums) {// 记录所有节点跳跃能到达最远的地方int len = nums.length;if(len == 1){// 只有一个元素 最开始就可以到达终点return true;}int max = 0;for (int i = 0; i <= max; i++) {// 注意循环终止条件是<= maxmax = Math.max(max, nums[i] + i);if(max >= len - 1){return true;}}return false;}

题目

45. 跳跃游戏 II 

思路

看了卡尔的视频,思想就是:每次都尽可能走最远,当覆盖范围大于数组时就停止计数。这里每次走最远,需要去遍历当前覆盖范围内的下标,选出能够跳得最远的下标,作为下一次跳的起点。 

代码

public int canJump2(int[] nums) {// 记录所有节点跳跃能到达最远的地方int len = nums.length;if(len == 1){return 0;}int max = 0;int step = 0;int i = 0;while (max <= len - 1){step ++;// 最大的覆盖范围max = Math.max(max, i + nums[i]);if(max >= len - 1){return step;}i = getMaxNums(i, max, nums);}return step;}private int getMaxNums(int start, int end, int[] nums){// 找到覆盖范围内能够跳到最远的下标int max = 0;int maxIndex = 0;for (int i = start; i <= end; i++) {int temp = i + nums[i];if(temp > max){maxIndex = i;max = temp;}}return maxIndex;}

 

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

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

相关文章

UE5 GAS开发P34 游戏效果理论

GameplayEffects Attributes&#xff08;属性&#xff09;和Gameplay Tags&#xff08;游戏标签&#xff09;分别代表游戏中实体的特性和标识。 Attributes&#xff08;属性&#xff09;&#xff1a;Attributes是用来表示游戏中实体的特性或属性的值&#xff0c;例如生命值、…

【网络通信】TCP三次握手、四次挥手

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP/IP协议族中&#xff0c;TCP协议负责在两个网络节点之间建立可靠的连接&#xff0c;并保证数据包的顺序传输和数据的完整性。 1.TCP三次握手 TCP三次握手&#xff08;Thr…

【工具】录屏软件Captura安装使用及ffmpeg下载配置

开启技术视频创作&#xff0c;录屏软件林林总总&#xff0c;适合的、习惯的最好。 录屏软件Captura的使用及ffmpeg下载配置 1.Captura下载、安装2.FFmpeg下载、配置3.Captura屏幕录制试用、录制视频效果 1.Captura下载、安装 Captura主要是一个免费开源的录屏软件&#xff0c…

系统架构设计精华知识

数据流风格&#xff1a;适合于分阶段做数据处理&#xff0c;交互性差&#xff0c;包括&#xff1a;批处理序列、管理过滤器。调用/返回风格&#xff1a;一般系统都要用到&#xff0c;包括&#xff1a;主程序/子程序&#xff0c;面向对象&#xff0c;层次结构&#xff08;分层越…

20240330-1-词嵌入模型w2v+tf-idf

Word2Vector 1.什么是词嵌入模型&#xff1f; 把词映射为实数域向量的技术也叫词嵌⼊ 2.介绍一下Word2Vec 谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。Word2Vec实际是一种浅层的神经网络模型&#xff0c;它有两种网络结构&#xff0c;分别是连续词袋&#xff…

54位大咖演讲精华! 中国生成式AI大会圆满收官,TOP50企业榜单揭晓

54位大咖演讲精华&#xff01; 中国生成式AI大会圆满收官&#xff0c;TOP50企业榜单揭晓© 由 红板报 提供 智东西4月19日报道&#xff0c;为期两天的2024中国生成式AI大会&#xff0c;今日在京圆满收官。 54位产学研投嘉宾代表全程干货爆棚&#xff0c;报名咨询人数逾52…

操作符不存在:sde.st_geometry ^ !sde.st_geometry建议 SQL函 数st_intersects在内联inlining期间

操作符不存在&#xff1a;sde.st_geometry ^ &#xff01;sde.st_geometry建议 SQL函 数st_intersects在内联inlining期间 问题&#xff1a;最近在使用SQL图形处理函数处理图形时&#xff0c;莫名奇妙报如下错误&#xff0c;甚是费解 于是开始四处"寻医问药" 1、nav…

G1、CMS垃圾回收期专题

共同点 非阻塞 使用三色标记法 初始标记、并发标记、重新标记、并发清理 &#xff08;初始标记、重新标记需要stop world&#xff09; CMS垃圾回收器 缺点 浮动垃圾 有垃圾碎片 关注停顿时间&#xff0c;使用了效率最高的标记清除算法 G1垃圾回收器 缺点 需要配置高&…

MySQL表级锁——技术深度+1

引言 本文是对MySQL表级锁的学习&#xff0c;MySQL一直停留在会用的阶段&#xff0c;需要弄清楚锁和事务的原理并DEBUG查看。 PS:本文涉及到的表结构均可从https://github.com/WeiXiao-Hyy/blog中获取&#xff0c;欢迎Star&#xff01; MySQL表级锁 MySQL中表级锁主要有表锁…

【Java EE】 SpringBoot配置文件

文章目录 &#x1f340;配置文件的作用&#x1f334;SpringBoot配置文件&#x1f343;配置文件的格式&#x1f333;properties 配置文件说明&#x1f338;properties基本语法&#x1f338;读取配置文件&#x1f338;properties 缺点分析 &#x1f332;yml 配置文件说明&#x1…

Docker基本管理和虚拟化

一、docker的发展历史 https://www.cnblogs.com/rongba/articles/14782624.htmlhttps://www.cnblogs.com/rongba/articles/14782624.html 二、docker的概述 Docker是一个开源的应用容器引擎&#xff0c;基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行…

centos7 Nginx一键安装自动化脚本

离线环境下 centos7 Nginx一键安装自动化脚本 本文介绍了一个 Bash 脚本&#xff0c;可用于自动化安装 Nginx 服务器。该脚本简化了安装过程&#xff0c;省去了手动配置的繁琐步骤。 脚本功能特点&#xff1a; 依赖检查和安装&#xff1a; 自动检查并安装 Nginx 所需的依赖包…

轨迹跟踪控制导读

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、小车底盘运动学模型介绍二、路径跟踪方法&#xff1a;PID控制算法实现路径跟踪--飞思卡尔的方法三、路径跟踪方法&#x…

附近商户-GEO数据结构的基本用法

10、附近商户 10.1、附近商户-GEO数据结构的基本用法 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a…

SpringBoot Bean管理(扫描、注册、注册条件)

Bean扫描 一般的扫描包路径 需要使用xml标签或者是ComponentScan(basePackages “xxx.xxx”) ,但是在SpringBoot中不需要。 在springBoot 项目的启动类中有一个注解&#xff1a;SpringBootApplication,这个注解包含以下注解&#xff1a; 但是ComponentScan并没有指明包路径…

开源协议的对比和商业上的安全使用

开源协议的对比和商业上的安全使用 开源组件是&#xff1a;“任何人都可以自由使用、更改和共享&#xff08;以修改或未修改的形式&#xff09;的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。 使用…

Maven基础篇5

私服 私服目的&#xff0c;方便公司内计算机通信&#xff0c;方便程序员们开发时资源互换&#xff1b; 1.Nexus私服 https://help.sonatype.com/repomanager3/download 可下载&#xff0c;第一个是服务器&#xff0c;第二个是工作空间 bin中有可执行命令 nexus.exe/run端口…

比亚迪唐EV和唐DM-p荣耀版上市,成为新能源汽车市场中的佼佼者!

随着环保理念的深入人心&#xff0c;新能源汽车市场正迎来前所未有的发展机遇。在这个变革的浪潮中&#xff0c;唐EV和唐DM-p荣耀版的上市无疑为市场注入了新的活力。它们凭借先进的技术、卓越的性能以及豪华配置&#xff0c;成为了新能源汽车市场中的佼佼者。然而&#xff0c;…

【飞桨AI实战】人体姿态估计:零基础入门,从模型训练到应用开发

前言 本次分享将带领大家从 0 到 1 完成一个人体姿态估计任务&#xff0c;覆盖数据准备、模型训练、推理部署和应用开发的全流程&#xff0c;项目将采用以PaddlePaddle为核心的飞桨深度学习框架进行开发&#xff0c;并总结开发过程中踩过的一些坑&#xff0c;希望能为有类似项…

前端面试真题

vue 1、说一下你对vue生命周期的理解 组件从创建到销毁的过程就是它的生命周期 beforeCreat&#xff1a;在这个阶段属性和方法都不能使用 created&#xff1a;这里是实例创建完成之后&#xff0c;在这里完成了数据监测&#xff0c;可以使用数据&#xff0c;修改数据&#xff…