【LeetCode】55.跳跃游戏
题目
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标。
示例 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 <= 3 * 10^40 <= nums[i] <= 10^5
解答
源代码
class Solution {public boolean canJump(int[] nums) {// k表示最远能够走到哪个下标int k = 0;// i代表现在走到哪个下标for (int i = 0; i < nums.length; i++) {if (i > k) {return false;}k = Math.max(k, i + nums[i]);}return true;}
}
总结
这个题不用想得太复杂,就直接把遍历数组想象成走路,计算出当前可到达的最远下标,在向前走时不断对比更新可到达的最远下标,若当前走到的下标已经大于可到达的最远下标,那就表示这个数组没办法到达最后一个下标。
相关文章:
【LeetCode】55.跳跃游戏
题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums [2,3,1,1,4] 输出:true 解释:可以…...
Docker学习路线12:开发者体验
到目前为止,我们只讨论了使用Docker来部署应用程序。然而,Docker也是一个极好的用于开发应用程序的工具。可以采用一些不同的建议来改善开发体验。 在应用程序中使用docker-compose以方便开发。使用绑定挂载将本地代码挂载到容器文件系统中,…...
后端服务迁移方案及过程记录
阶段时序动作双写数据对比1新rdb集群上线双写数据对比2新服务上线,无流量双写数据对比2后端自己发起的流程比如job,新服务上线一份新的,独立运行双写数据对比2消费二方mq,新服务使用新的消费组消费原有消息双写数据对比3新旧服务比…...
StAX解析
StAX解析 StAX解析介绍 StAX解析与SAX解析类似,也是基于事件驱动的,不同之处在于StAX采用的是拉模式,应用程序通过调用解析器推进解析的进程,可以调用next()方法来获取下一个解析事件(开始文档,结束文档,开…...
[MCU]AUTOSAR COM STACK - CAN协议栈
各层PDU PDU:Protocal Data Unit,协议数据单元,由SDU和PCI组成; I-PDU:Interaction Layer PDU,数据交互层PDU;N-PDU:NetWork Layer PDU,网络层PDU,通常用的…...
React:从 npx开始
使用 npm 来创建第一个 recat 文件( react-demo 是文件名,可以自定义) npx create-react-app react-demo npx是 npm v5.2 版本新添加的命令,用来简化 npm 中工具包的使用 原始: 全局安装npm i -g create-react-app 2 …...
力扣热门100题之接雨水【困难】
题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3…...
Stable-Diffusion-Webui部署SDXL0.9报错参数shape不匹配解决
问题 已经在model/stable-diffusion文件夹下放进去了sdxl0.9的safetensor文件,但是在切换model的时候,会报错model的shape不一致。 解决方法 git pullupdate一些web-ui项目就可以,因为当前项目太老了,没有使用最新的版本。...
Springboot @Async 多线程获取返回值
Springboot Async 多线程获取返回值 需求背景 最近需要用到多线程, 自己维护线程池很麻烦, 正好看到Springboot集成线程池的例子, 这里自己做了个尝试和总结, 记录一下, 也分享给需要的朋友; 不考虑事务的情况下, 这个多线程实现比较简单, 主要有以下几点: 在启动类加上Enab…...
怎样接入chatGPT
官网链接: OpenAI platform...
Docker consul容器服务更新与发现
Docker consul容器服务更新与发现 一、什么事服务注册与发现二、什么是consul三、consul部署1、consul服务器2、registrator服务器3、consul-template 一、什么事服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可…...
[算法很美打卡] 多维数组篇 (打卡第一天)
文章目录 顺时针打印二维数组0所在的行列清零 顺时针打印二维数组 package 每日算法学习打卡.算法打卡.七月份.七月二十六号;public class test1 {public static void main(String[] args) {int[][] matrix {{1,2},{5,6},{9,10},{13,14},};print(matrix);}static void print(i…...
微服务系列(1)-who i am?
微服务系列(1)-我是谁 应用架构的演化 简单来说系统架构可以分为以下几个阶段:复杂的臃肿的单体架构-SOA架构-微服务 单体架构及其所面临的问题 在互联网发展初期,用户数量少,流量小,硬件成本高。因此…...
记录这这段时间发生的事情。
当做后端的时候总是被骂做前很丑。成为一个UI设计师与后端工程师才会更加完美。 尝试着做一个主页面。 创建了一个主页面 的表格index。 收录了希望发送到主页的,的帖子。 并且,可以填写是否可以。 一个看起来不错的主页。 标题设计的左右框。 这种框…...
发布npm包流程
发布npm包的步骤如下: 在终端中通过 npm init 命令创建一个新的npm包,按照提示填写包的信息,如包名称、版本、描述、作者、许可证等。 在包的根目录下创建一个 index.js 文件,编写你的代码。 确认你已经注册了npm账号࿰…...
面试官:Redis 为什么变慢了?怎么解决?
一、Redis为什么变慢了 二、Redis如何优化 三、Redis变慢了排查步骤 一、Redis为什么变慢了 1.Redis真的变慢了吗? 对 Redis 进行基准性能测试 例如,我的机器配置比较低,当延迟为 2ms 时,我就认为 Redis 变慢了,…...
Docker:开启应用程序开发新篇章的利器
Docker:开启应用程序开发新篇章的利器 引言:1. Docker 的基本概念2. Docker 的优势3. Docker 在应用程序开发中的实际应用如何创建docker镜像如何部署docker镜像结论: 引言: 在现代软件开发领域中,容器化技术正在迅猛…...
Python面向对象(三)(继承、封装)
面向对象的三大特性 面向对象编程,是许多编程语言都支持的一种编程思想。 简单理解是:基于模板(类)去创建实体(对象),使用对象完成功能开发。 面向对象包含3大主要特性: 封装 封…...
Redis Stream 流的深度解析与实现高级消息队列【一万字】
详细介绍了 Redis 5.0 版本新增加的数据结构Stream的使用方式以及原理,如何实现更加可靠的消息队列。 文章目录 Stream 概述2 Stream基本结构3 存储数据3.1 Entry ID3.2 数量限制 4 获取数据4.1 范围查询4.2 独立消费消息4.2.1 非阻塞使用4.2.2 阻塞的使用 4.3 消费…...
一个灵活、现代的Android应用架构
一个灵活、现代的Android应用架构 学习Android架构的原则:学习原则,不要盲目遵循规则。 本文旨在通过示例演示实际应用:通过示范Android架构来进行教学。最重要的是,这意味着展示出如何做出各种架构决策。在某些情况下࿰…...
从标注到训练:手把手教你用Labelme制作YOLOv8-Pose可用的关键点数据集
从标注到训练:手把手教你用Labelme制作YOLOv8-Pose可用的关键点数据集 在计算机视觉领域,关键点检测技术正逐渐成为研究热点。无论是人体姿态估计、面部表情识别还是工业质检中的零件定位,准确的关键点检测都是实现这些应用的基础。然而&…...
从一次线上事故复盘:我们如何用OWASP ZAP揪出jQuery遗留的AJAX CSRF漏洞
实战复盘:如何用OWASP ZAP挖掘jQuery遗留的AJAX CSRF漏洞 那天凌晨2点,运维群突然炸出一连串报警——某金融模块出现异常转账记录,涉及金额虽不大,但所有操作都显示来自真实用户会话。作为技术负责人,我立刻意识到&…...
Grafici-GFX:Arduino嵌入式数据可视化轻量库
1. Grafici-GFX 库概述:面向嵌入式显示终端的数据可视化引擎Grafici-GFX 是一个专为 Arduino 平台设计的轻量级数据可视化库,其核心定位并非通用图形渲染,而是在资源受限的微控制器上实现高效、可配置的数据曲线绘制与状态呈现。该库不直接操…...
STM32单片机开发七大核心模块实战指南
1. 单片机学习的核心路径解析作为一名从51单片机入门到STM32进阶的嵌入式开发者,我深刻体会到单片机学习绝非简单的知识点堆砌。真正掌握单片机需要建立完整的知识体系,而以下七个功能模块正是构建这一体系的支柱。这些内容看似基础,但深入理…...
python python-telegram-bot
# 聊聊Python-Telegram-Bot:一个让机器人活起来的工具 如果你曾经用过Telegram,可能会注意到上面有各种各样的机器人,有的能帮你查天气,有的能管理群组,还有的甚至能陪你聊天。这些机器人背后,很多时候都是…...
iOS / SwiftUI 输入法(键盘)布局处理总结(AI版)
文章目录📘 iOS / SwiftUI 输入法(键盘)处理总结一、问题背景二、输入框切换闪烁问题❌ 错误原因解决办法键盘动画(类似 Android Insets)uikitswiftUI📘 iOS / SwiftUI 输入法(键盘)…...
2026 RAG 全景落地教程(非常详细),从大模型基座到 Agent 记忆从入门到精通,收藏这一篇就够了!
这是一份让你看完就能动手,少走半年弯路的实战指南。 为什么你必须搞懂 RAG 2023 年是大模型“百模大战”年,所有人都在刷榜单、比参数。2024 年起,战场转移了——谁能把大模型真正用起来,谁才有价值。 而检索增强生成…...
保姆级教程:为嵌入式Linux(ARM/AArch64)交叉编译带完整符号支持的Perf工具
ARM架构嵌入式Linux系统性能调优实战:Perf工具深度定制指南 在嵌入式系统开发中,性能优化往往是最具挑战性的环节之一。当你的应用在ARM或AArch64架构的嵌入式设备上运行时出现卡顿、延迟或资源耗尽,传统的打印调试和日志分析往往难以定位深…...
JBoltAI Agent OS:企业AI转型的“智慧管家”
在AI技术席卷全球的浪潮中,企业如何高效管理员工手中的AI Agent,确保其既助力业务又不失控?JBoltAI Agent OS应运而生,它如同一位“智慧管家”,为企业提供了一套集中式的Agent治理与转型管理方案。一、为何需要企业级A…...
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
前置介绍为什么要手动建立工程模板?"CubeMX 是一个开发工具, 并不是开发本身, 学会借助它的便利, 而不依赖它的结构, 这是我们迈向高级开发者的关键的一步"新建工程简要步骤手动建立工程1. 新建工程文件夹2. 拷贝文件2.1. 参考目录, 文件结构对于 Inc 和 Src 等文件…...
