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

55.跳跃游戏

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

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

示例:

输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

第一次尝试:尝试用了递归,结果超出时间限制了

class Solution {
public:bool canArrive(vector<int>& nums, int end){if(!end) return true;int index = end-1;while(index>= 0){if(index + nums[index] >= end){ //该坐标能到达if(canArrive(nums, index))  //判断能不能到达index这个坐标return true;            //如果能,则返回true}index--;}return false;}bool canJump(vector<int>& nums) {int end = nums.size()-1;return canArrive(nums, end);}
}; 	// 73 / 172 个通过的测试用例,超出时间限制

第二次尝试:跟官方解思路差不多,但是没有想的很完善,如果最大步数正好跳到了0就死路了。

class Solution {
public:bool canJump(vector<int>& nums) {int end = nums.size() - 1;int index = 0;if (nums[0] >= end) return true;while (nums[index] && index < end + 1) {int step = nums[index];int maxStep = 0;for (int i = 1; i <= step; i++) {if (index + i + nums[index + i] >= end)  //能到达return true;maxStep = max(maxStep, index + i + nums[index + i]);}index = maxStep;    //跨最大一步}return false;}
};	// 167 / 172 个通过的测试用例  [5,9,3,2,1,0,2,3,3,1,0,0]

思路:

从后往前遍历,以last_point为终点,不断找能到达last_point的点,并且替换last_point。
最后如果last_point为0,则代表能到达最后一个下标

代码+解析:

class Solution {
public:bool canJump(vector<int>& nums) {int end = nums.size() - 1;if (nums[0] >= end) return true;int index = end-1;  //从倒数第二个开始遍历int last_point = end;     //最靠近目标点且能到达的点while (index>=0) {//if (index == 0) return true;if (index + nums[index] >= last_point) {last_point = index;}index--;}if (last_point == 0) return true;return false;}
};

学到的总结:

  1. 从后往前遍历

相关文章:

55.跳跃游戏

题目描述&#xff1a;给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示…...

php实现钉钉机器人推送消息和图片内容(完整版)

先来看下实现效果: 代码如下: function send_dingtalk_markdown($webhook , $title , $message "", $atMobiles [], $atUserIds []) {$data ["msgtype" > "markdown","markdown" > ["title" > $title,&quo…...

A Survey on Neural Network Interpretability

A Survey on Neural Network Interpretability----《神经网络可解释性调查》 摘要 随着深度神经网络的巨大成功&#xff0c;人们也越来越担心它们的黑盒性质。可解释性问题影响了人们对深度学习系统的信任。它还与许多伦理问题有关&#xff0c;例如算法歧视。此外&#xff0c;…...

代码随想录 Day41 动态规划09 LeetCode T121 买卖股票的最佳时机 T122 买卖股票的最佳时机II

前言 这两题看起来是不是有点眼熟,其实我们在贪心章节就已经写过了这两道题,当时我们用的是将利润分解,使得我们始终得到的是最大利润 假如第 0 天买入&#xff0c;第 3 天卖出&#xff0c;那么利润为&#xff1a;prices[3] - prices[0]。 相当于(prices[3] - prices[2]) (pri…...

ubuntu18-recvfrom接收不到广播报文异常分析

目录 前言 一、UDP广播接收程序 二、异常原因分析 总结 前言 在ubuntu18.04系统中&#xff0c;编写udp接收程序发现接收不到广播报文&#xff0c;使用抓包工具tcpdump可以抓取到广播报文&#xff0c;在此对该现象分析解析如下文所示。 一、UDP广播接收程序 UDP广播接收程序如…...

漏刻有时百度地图API实战开发(6)多个标注覆盖层级导致不能响应点击的问题

漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关漏刻有时百度地图API实战开发(3)自动获取地图多边形中心点坐标漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的解…...

使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一&#xff0c;特别是智能设备的大面积使用&#xff0c;无论是个人…...

MySQL的表格去重,史上最简便的算法,一看就会

首先&#xff0c;表格my_tab02存在很多重复的数据&#xff1a; #表格的去重 方法一&#xff1a; 详细内容传送门&#xff1a;表格的去重 -- 思路&#xff1a; -- 1.先创建一张临时表 my_tmp,该表的结构和my_tab02一样 -- 2.把my_tmp的记录通过distinct关键字 处理后 把记录复…...

this是指向的哪个全局变量,改变this指向的方法有几种?

在JavaScript中&#xff0c;this关键字指向当前执行上下文中的对象。它的具体指向取决于函数的调用方式。 改变this指向的方法有四种&#xff1a; 1.使用call()方法&#xff1a;call()方法在调用函数时将指定的对象作为参数传递进去&#xff0c;从而改变函数的this指向。用法示…...

电脑msvcp110.dll丢失怎么办,msvcp110.dll缺失的详细修复步骤

在现代科技发展的时代&#xff0c;电脑已经成为我们生活和工作中不可或缺的工具。然而&#xff0c;由于各种原因&#xff0c;电脑可能会出现一些问题&#xff0c;其中之一就是msvcp110.dll文件丢失。这个问题可能会导致一些应用程序无法正常运行&#xff0c;给我们的生活和工作…...

cookie 里面都包含什么属性?

结论先行&#xff1a; Cookie 中除了名称和值外&#xff0c;还有几个比较常见的&#xff0c;例如&#xff1a; Domain 域&#xff1a;指定了 cookie 可以发送到哪些域&#xff0c;只有发送到指定域或其子域的请求才会携带该cookie&#xff1b; Path 路径&#xff1a;指定哪些…...

LinuxMySql

结构化查询语言 DDL&#xff08;数据定义语言&#xff09; 删除数据库drop database DbName; 创建数据库create database DbName; 使用数据库use DbName; 查看创建数据库语句以及字符编码show create database 43th; 修改数据库属性&#xff08;字符编码改为gbk&#xff09;…...

《微服务架构设计模式》之三:微服务架构中的进程通信

概述 交互方式 客户端和服务端交互方式可以从两个维度来分&#xff1a; 维度1&#xff1a;一对一和多对多 一对一&#xff1a;每个客户端请求由一个实例来处理。 一对多&#xff1a;每个客户端请求由多个实例来处理。维度2&#xff1a;同步和异步 同步模式&#xff1a;客户端…...

μC/OS-II---内核:任务调度

目录 内核&#xff1a;调度&#xff08;oc_core.c文件的函数&#xff09;OS_TCB&#xff08;任务控制块&#xff09;初始化任务控制块列表(ucos_ii.h文件的函数)系统调用&#xff0c;主动让渡CPU发生中断&#xff0c;强制当前任务让渡CPU就绪表(ucos_ii.h文件的函数)设置任务进…...

小程序发成绩

在这个数字化快速发展的时代&#xff0c;让学生能够方便快捷地获取自己的成绩已经成为一项基本的需求。那么&#xff0c;如何实现这一目标呢&#xff1f;对于许多老师来说&#xff0c;可能首先想到的是使用各种代码或者Excel来发布成绩查询。今天&#xff0c;我们就来探讨一下这…...

tensorflow内存泄漏或模型只加载不运行

使用tf2模型进行推理的过程中&#xff0c;发现模型的内存占用在逐步增加&#xff0c;甚至会因为OOM被kill掉进程&#xff0c;有时候模型只加载不运行&#xff0c;搜索得到很多五花八门的答案&#xff0c;有些认为是tf2本身的问题&#xff0c;但在使用内存追踪的时候发现&#x…...

npm和yarn的一些命令

文章目录 前言 前言 提示&#xff1a;生命并不短暂&#xff0c;短暂的是人。 --阿多尼斯 yarn config set registry https://registry.npmjs.org --globalnpm install -g cnpm --registryhttps://registry.npm.taobao.org # 切换淘宝源&#xff1a; yarn config set registry…...

Linux开发工具之自动化构建工具-make/Makefile

文章目录 1.make/Makefile的介绍2.简单编写及使用3.ACM时间4.extern的复习5.多文件的编译5.0复习翻译过程5.1多文件的构成5.2手动编译5.3利用Makefile 1.make/Makefile的介绍 make是一个命令 makefile是一个文件[makefile也对] 之前的学习都没有维护项目结构 当有多个.c文件 先…...

UE5蓝图接口使用方法

在内容区右键创建蓝图接口 命名自定义&#xff08;可以用好识别的&#xff09; 双击打开后关闭左边窗口 右键函数 -- 重命名 -- 名称自定义&#xff08;用好记的&#xff09; 点击下边输入后面的 号创建一个变量 点击编译并保存 在一个蓝图类里面 -- 点击类设置 在右侧已实现的…...

vue动态修改css样式

<span :style"{backgroundColor:colorHex}">测试文字</span> <button click"changeColor">更改颜色</button>export default{data(){return{colorHex:"#eeeeee",}},methods:{changeColor(){this.colorHex"#000&quo…...

2026届毕业生推荐的十大降AI率方案推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要想有效避开人工智能文本检测系统的精准辨认&#xff0c;对于生成的内容能够施行如下这一系…...

YOLOv5模型瘦身与加速新思路:实测ECA注意力机制对推理速度与精度的双重影响

YOLOv5模型瘦身与加速新思路&#xff1a;ECA注意力机制的实测性能解析 在边缘计算设备上部署目标检测模型时&#xff0c;工程师们常常面临一个经典三角困境&#xff1a;如何在模型精度、推理速度和资源占用之间找到最佳平衡点。YOLOv5作为当前工业界最受欢迎的实时检测框架之一…...

专注力障碍是什么?主要有哪几点影响孩子的学习与社交能力?

专注力障碍对儿童学习与社交的深远影响分析 专注力障碍对儿童的学习和社交能力造成了显著的影响。首先&#xff0c;孩子在课堂上可能因为注意力不集中而无法有效吸收知识&#xff0c;这直接影响他们的学业表现。其次&#xff0c;许多患有学习障碍的孩子在与同龄人互动时&#x…...

C. Partitioning the Array

原题&#xff1a;Problem - C - Codeforces 官方题解&#xff1a;Editorial for Codeforces Round #919 (Div. 2) - Codeforces 收获及反思&#xff1a; 同余推理&#xff0c;如&#xff1a; 判断x,y两数是否可能同余&#xff0c;并找出模数m. 设相同的余数为k, xa*mk, yb*m…...

AutoFigure框架:科研插图的自动化生成技术解析

1. AutoFigure框架概述&#xff1a;科研插图的自动化革命科学插图作为学术交流的"视觉语言"&#xff0c;其重要性不言而喻明。传统插图制作需要研究者同时具备深厚的领域知识和专业的视觉设计能力&#xff0c;这种复合型要求使得插图创作成为科研流程中的显著瓶颈。根…...

键盘驱动鼠标控制工具mousemaster:提升效率与缓解手腕疲劳的终极方案

1. 项目概述&#xff1a;用键盘重新定义鼠标操作如果你和我一样&#xff0c;每天有超过8小时的时间与电脑为伴&#xff0c;那么手腕和手指的疲劳感&#xff0c;或者是在鼠标和键盘之间来回切换的低效感&#xff0c;一定不陌生。传统的鼠标操作&#xff0c;看似直观&#xff0c;…...

告别ImageNet预训练:用DINO-v2自监督ViT,在自定义数据集上也能训出好模型

突破数据瓶颈&#xff1a;DINO-v2自监督ViT在垂直领域的实战指南 当医学影像分析遇到标注数据不足&#xff0c;当工业质检缺乏足够样本&#xff0c;传统依赖ImageNet预训练的方法往往捉襟见肘。DINO-v2的出现&#xff0c;为这些垂直领域带来了新的曙光——无需海量标注数据&…...

抖音视频下载终极指南:免费批量下载高清无水印视频的完整方案

抖音视频下载终极指南&#xff1a;免费批量下载高清无水印视频的完整方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

SageMath拓扑学计算:同调群与流形分析指南

SageMath拓扑学计算&#xff1a;同调群与流形分析指南 【免费下载链接】sage Main repository of SageMath 项目地址: https://gitcode.com/gh_mirrors/sag/sage SageMath是一个功能强大的开源数学软件系统&#xff0c;提供了丰富的拓扑学计算工具&#xff0c;特别适合同…...

别再乱升级libc6了!遇到`GLIBC_2.34 not found`错误,先试试这几种更稳妥的解决方案

当系统GLIBC版本不匹配时&#xff0c;五种安全解决方案深度解析 遇到GLIBC_2.34 not found这类错误时&#xff0c;许多开发者的第一反应是直接升级系统libc6库。这种看似直接的解决方案实际上隐藏着巨大风险——可能导致系统关键组件不兼容&#xff0c;甚至引发连锁崩溃。本文将…...