LeetCode(9)跳跃游戏【数组/字符串】【中等】

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 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 <= 10^4
  • 0 <= nums[i] <= 10^5

2.答案

class Solution {
    public boolean canJump(int[] nums) {
        if (nums.length < 2) {
            return true;
        }
        boolean[] his = new boolean[nums.length];
        for (int i = nums.length - 2; i >= 0; i--) {
            // 最大跳跃长度为0,不通过
            int jump = nums[i];
            if (jump == 0) {
                his[i] = false;
                continue;
            }
            // 跳到末位及以后,通过
            if (i + jump >= nums.length - 1) {
                his[i] = true;
                continue;
            }
            // 使用历史记录判断
            int j = 1;
            for (; j <= jump; j++) {
                if (his[i+j]) {
                    break;
                }
            }
            his[i] = j <= jump;
        }
        return his[0];
    }
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

青少年编程学习 等级考试 蓝桥杯/NOC/GESP等比赛资料合集

一、博主愚见 在当今信息技术高速发展的时代&#xff0c;编程已经成为了一种必备的技能。随着社会对于科技人才的需求不断增加&#xff0c;青少年编程学习正逐渐成为一种趋势。为了更好地帮助青少年学习编程&#xff0c;提升他们的技能和素质&#xff0c;博主结合自身多年从事青…

五款常见的自动化测试框架

在自动化的软件测试系统实现过程中使用框架设计可以使得测试脚本的维护量减至最少。然而&#xff0c;大量的自动化测试工具均采用传统的“录制一回放”模 型&#xff0c;导致了较高的脚本维护量&#xff0c;因为测试数据在测试脚本程序中是以硬编码方式实现的。此外&#xff0…

向量数据库的分类概况

保存和检索矢量数据的五种方法&#xff1a; 像 Pinecone 这样的纯矢量数据库 全文搜索数据库&#xff0c;例如 ElasticSearch 矢量库&#xff0c;如 Faiss、Annoy 和 Hnswlib 支持矢量的NoSQL 数据库&#xff0c;例如 MongoDB、Cosmos DB 和 Cassandra 支持矢量的SQL 数据库&am…

Web视频会议:搭建CS for WebRTC

1. 下载Centos 7, WebRTC 需要Centos7版本 本文福利&#xff0c; 免费领取C音视频学习资料包学习路线大纲、技术视频/代码&#xff0c;内容包括&#xff08;音视频开发&#xff0c;面试题&#xff0c;FFmpeg &#xff0c;webRTC &#xff0c;rtmp &#xff0c;hls &#xff0c;…

垂直领域对话系统架构

垂直领域对话系统是指针对特定领域或行业的需求而构建的对话系统。这种系统通常需要具备高度的专业知识和对特定领域的知识库进行深入的学习和训练&#xff0c;以便能够提供准确、高效、实用的服务。 垂直领域对话系统的构建通常包括以下步骤&#xff1a; 确定目标领域或行业…

详解JDBC

JDBC简介 概念: jdbc就是使用java语言操作关系型数据库的一套API 全称 : (Java DataBase Connectivity) Java数据库连接 本质: 官方(sun公司)定义的一套操作所有关系型数据库的规则&#xff0c;即接口&#xff1b; 各个数据库厂商实现这套接口&#xff0c;提供数据库驱动j…

如何快速入门笔记软件『Obsidian』

前言 Obsidian 是基于 Markdown 语法的笔记软件&#xff0c;界面简洁&#xff0c;使用简单&#xff0c;功能实用&#xff0c;支持跨平台数据同步&#xff0c;实现基于双向链接的知识图谱&#xff0c;同时提供各种各样的扩展主题和插件 本文将会详细讲解笔记软件 Obsidian 的安…

threejs (三) 几何体

定义&#xff1a;用来表示物体的形状&#xff0c;可以定义物体的大小&#xff0c;可以被缩放、旋转和平移 内置几何体&#xff1a; 二维几何体&#xff1a;PlaneGeometry矩形平面、CircleGeometry圆形平面、RingGeometry环形平面、ShapeGeometry二维图形三维几何体&#xff1a…

阿里云通用算力型u1服务器和e实例有什么区别?选择攻略

阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别&#xff1f;如何选择&#xff1f;ECS经济型e实例是共享型云服务器&#xff0c;通用算力型u实例是企业级独享型云服务器&#xff0c;e实例性价比高&#xff0c;现在2核2G3M带宽一年99元&#xff0c;云服务器u1价格相对要…

腾讯云新用户优惠服务器汇总,腾讯云新用户值得买的云服务器推荐

在双11期间&#xff0c;市面上出现了各种云服务器活动机型&#xff0c;价格低廉&#xff0c;适合刚需或囤货用户。这些云服务器不仅拥有高性能和稳定性&#xff0c;还具备弹性扩展能力&#xff0c;能够满足各类用户的需求。 腾讯云作为国内领先的云计算服务提供商&#xff0c;…

Sonatype Nexus部署docker安装nexus3

Nexus是一个强大的Maven仓库管理器&#xff0c;它极大地简化了自己内部仓库的维护和外部仓库的访问。 1、查看可用的 Nexus3版本 可以通过 Sort by 查看其他版本的 nexus3&#xff0c;默认是最新版本 sonatype/nexus3:latest。 https://hub.docker.com/r/sonatype/nexus3/tags…

社交媒体可持续性挑战:TikTok的危机与应对

随着社交媒体的全球普及&#xff0c;TikTok已成为一个备受欢迎的短视频平台&#xff0c;吸引了数以亿计的用户。然而&#xff0c;在其增长和成功背后&#xff0c;也伴随着一系列可持续性挑战。本文将深入探讨TikTok面临的可持续性问题&#xff0c;以及它如何应对这些挑战&#…

Linux编译器---gcc/g++的使用

一、背景知识 在Linux系统中&#xff0c;GCC是一个非常重要的工具&#xff0c;因为它使得开发者可以使用C和C等语言编写高性能的程序。它主要包括四个方面&#xff1a; 预处理&#xff08;进行宏替换) 编译&#xff08;生成汇编) 汇编&#xff08;生成机器可识别代码&#xff0…

springboot vue mysql的在线竞拍拍卖系统

基于SpringBoot的在线拍卖系统,springboot vue mysql (毕业论文10168字以上,共34页,程序代码,MySQL数据库) 【运行环境】 IDEA, JDK1.8, Mysql, Node, Vue 【技术栈】 Java, SpringBoot, Jquery, Layui, MYSQL, HTML, CSS, JAVASCRIPT, Ajax 7707 java毕业设计 springboot v…

JTS: 19 IndexedPointInAreaLocator 判断是否在点在面的内部

文章目录 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 package pers.stu.algorithm;import org.locationtech.jts.algorithm.locate.IndexedPointInAreaLocator; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom…

web 自动化测试,这8 个核心知识点,你一定得掌握

使用 cypress 进行端对端测试&#xff0c;和其他的一些框架有一个显著不同的地方&#xff0c;它使用 JavaScript 作为编程语言。 传统主流的 selenium 框架是支持多语言的&#xff0c;大多数 QA 会的 python 和 Java 语言都可以编写 selenium 代码&#xff0c;遇到需要编写 js…

一文详解进销存管理系统!

一、什么是进销存管理系统&#xff1f; 进销存软件是一种针对制造业企业设计的管理软件系统&#xff0c;旨在协调和优化企业的生产、采购、销售以及库存管理等方面的活动。该系统的主要目标是提高企业的生产效率、降低库存成本、优化供应链&#xff0c;并增强企业的整体运营效…

【中间件篇-Redis缓存数据库08】Redis设计、实现、redisobject对象设计、多线程、缓存淘汰算法

Redis的设计、实现 数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型&#xff0c;它们分别是&#xff1a;string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合)&#xff0c;但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的…

<MySQL> MySQL中查询(retrieve)数据的基础操作

目录 一、查询&#xff08;retrieve&#xff09; 1.1 查询数据的方式概述 二、全列查询 2.1 语法 2.2 操作演示 2.3 全列查询需要慎重使用 三、指定列查询 3.1 语法 3.2 操作演示 四、表达式查询 4.1 语法 4.2 操作演示 4.3 null 参与表达式计算 4.3 表达式查询存…

【Proteus仿真】【Arduino单片机】简易计算器设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用PCF8574、LCD1602液晶、4*4矩阵键盘等。 主要功能&#xff1a; 系统运行后&#xff0c;操作矩阵按键可实现简单四则运算。 二、软件设计 /* …
最新文章