【LeetCode】 45. Jump Game II

55. Jump Game(跳跃游戏)三种解法(C++ & 注释) 55. Jump Game(跳跃游戏)1. 题目描述2.2.1 解题思路2.2 实例代码2.2.1 解题思路2.2 实例代码2.2.1 解题思路2.2 实例代码2. 参考资料 1. 题目描述 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3步到达最后一个位置。 示例 2 阅读详情

45. Jump Game II

Given an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Your goal is to reach the last index in the minimum number of jumps.

Example:

Input: [2,3,1,1,4]
Output: 2
Explanation: The minimum number of jumps to reach the last index is 2.
    Jump 1 step from index 0 to 1, then 3 steps to the last index.

Note:

You can assume that you can always reach the last index.

思路:

DP(自底向上),数组dp[]表示能够到达该位置最小的steps,有一点类似最短上升子序列。

#include<iostream>
#include<vector>
using namespace std;
int minJump(vector<int>& nums)
{
	int* dp = new int[(nums.size())];
	for(int i=1;i<(nums.size());i++) dp[i]=INT_MAX;
	dp[0]=0;
	for(int i=0;i<(nums.size());i++){
		for(int j=i+1;j<=i+nums[i]&&j<(nums.size());j++){
			if(dp[i]+1<dp[j]) dp[j]=dp[i]+1;
		}
	} 
	int ans = dp[(nums.size()-1)];
	delete[] dp;
	return ans;
 } 
 int main(void)
 {
 	vector<int> input;
 	int size;
 	while(cin>>size){
 		int num;
 		for(int i=0;i<size;i++){
 			cin>>num;
 			input.push_back(num);
		 }
		 cout<<minJump(input)<<endl;
	 }
	 return 0;
 }

 

VideoPose3d:环境搭建+制作自己的视频 论文链接:3D human pose estimation in video with temporal convolutions and semi-supervised training 代码链接:https://github.com/facebookresearch/VideoPose3D 环境搭建:ubuntu20.04+pytorch1.8+cuda10.2+python3.6+anaconda 1.启动anaconda环境 新建环境命令: conda create -n pytorc. 阅读详情

相关推荐

无人机飞控技术最详细解读

已剪辑自: https://zhuanlan.zhihu.com/p/64519280[导读]被称作是“飞行器的大脑”的飞控到底是什么?以前,搞无人机的十个人有八个是航空、气动、机械出身,更多考虑的是如何让飞机稳定飞起来、飞得更快、飞得更高。如今,随着芯片、人工智能、大数据技术的发展,无人机开始了智能化、终端化、集群化的趋势,大批自动化、机械电子、信息工程、微电子的专业人材投入到了无人机研发大潮中,几年的时间让无人机从远离人们视野的军事应用飞入了寻常百姓家、让门外汉可以短暂的学习也能稳定可靠的飞行娱乐。不可

qq_41854911的博客 1万+

Python每日一练(20230511) 跳跃游戏 I\II\III\IV

1. 跳跃游戏 Jump Game I   2. 跳跃游戏 Jump Game II   3. 跳跃游戏 Jump Game III   4. 跳跃游戏 Jump Game IV

汉阳Hann's Home 2188

C++11并发与多线程笔记(2) 线程启动、结束,创建线程多法、join,detach

第二节 线程启动、结束,创建线程多法、join,detach 一、范例演示线程运行的开始 程序运行起来,生成一个进程,该进程所属的主线程开始自动运行;当主线程从main()函数返回,则整个进程执行完毕 主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个函数运行完毕,线程也结束运行 整个进程是否执行完毕的标志是:主线程是否执行完,如果主线程执行完毕了,就代表整个进程执行完毕了,此时如果其他子线程还没有执行完,也会被强行终止【此条有例外,以后会解释】 创建

qq_38231713的博客 1万+

动态规划- Jump Game

多步到达:将距离i拆分为2段,左边距离k,右边i-1, 距离i可达的问题转换为了i位置k距离可达,和 j+k位置i-k距离可达, 即 dp[i][j] = dp[j][k] && dp[j+k][i-k]。由于是递增计算距离i是否可达,所以在计算 dp[i][j] 时, dp[j][k] 和 dp[j+k][i-k] 已经计算过。一步到达:遍历输入数组arr, 标记j位置后距离i=1~arr[j-1]个位置可达, 即 dp[j][i] = true。

paradise. 314

保姆级教程:手把手教你从NASA Earthdata免费下载ASTER L2地表温度数据(附shp文件拖拽技巧)

本文提供了一份详细的ASTER L2地表温度数据下载指南,涵盖从NASA Earthdata注册、数据定位到shp文件拖拽技巧的全流程。特别针对新手常见问题如邮箱选择、密码设置、云量筛选等给出实用解决方案,帮助用户高效获取遥感数据并避免常见陷阱。

weixin_42662605的博客 424

SimMechanics二连杆仿真避坑指南:Solid模块坐标系设置与Rigid Transform常见错误

本文详细解析了SimMechanics中二连杆平面臂仿真的常见问题,重点探讨Solid模块坐标系设置与Rigid Transform模块的配置陷阱。通过实战案例和MATLAB代码示例,揭示多体系统仿真中的关键错误点,包括坐标系方向定义、参数匹配、端口连接规则等,帮助工程师有效规避仿真风险,提升建模效率。

weixin_29309213的博客 411

leetcode:45. 跳跃游戏 II

题目来源 leetcode:jump-game-ii 题目描述 class Solution { public: int jump(vector<int>& nums) { } }; 题目解析 从数组的第 0 个位置开始跳,跳的距离小于等于数组上对应的数。求出跳到最后个位置需要的最短步数。 贪心 思路:别想那么多,就挨着跳吧 如果某一个起跳点的格式可以跳跃的距离是3,那么表示后面3个格子都可以作为起跳点 如果从这个起跳点叫做第1次跳跃,那么从后面3个格子起

OceanStar的博客 1913

systermverilog中for循环中的fork join执行情况分析

仅为本人学习记录,如有错误感谢指正!

qq_63807221的博客 1461

动态规划算法贪心算法之跳跃游戏详细解读(附带Java代码解读)

跳跃游戏(Jump Game)是一道经典的贪心算法和动态规划问题,旨在判断是否可以通过跳跃从数组的起始位置到达数组的末尾。该问题有两种常见的形式:跳跃游戏 I 和跳跃游戏 II。

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 2341

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 305

【即插即用模块】注意力篇 | TIP 2024 | 注意力机制的有效改进!内容引导注意力块CGA,空间-通道-像素三个维度融合,实现涨点!

CGA(Content-Guided Attention)是一种融合多维度注意力的即插即用模块,通过并联空间和通道注意力并与像素注意力串联,实现从通道、空间到像素的三层级特征筛选。该模块采用层级递进设计,解决了传统单维度注意力的局限性,尤其适用于图像恢复等对特征精度要求高的任务。实验表明,CGA在去雾任务中能显著提升指标,但会略微增加参数量。模块代码支持灵活集成到各类视觉模型中,建议放置在网络靠前位置以充分释放后续层性能。其核心创新在于通过7×7大卷积捕捉长距离依赖,结合分组卷积实现像素级细粒度建模

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 226

LeetCode 45. Jump Game II 题解

本题是贪心算法的经典应用问题,主要考察对贪心算法思想的理解和使用。通过使用贪心算法,我们可以高效地计算到达数组最后一个下标所需的最少跳跃次数。贪心算法的核心思想是:维护当前跳跃的结束位置和能够到达的最远位置,当到达当前跳跃的结束位置时,进行一次跳跃,并更新跳跃的结束位置为能够到达的最远位置。这种方法不仅适用于跳跃游戏 II 问题,还可以应用于许多其他需要贪心策略的问题。掌握贪心算法的思想,对于解决这类问题非常重要。

cannonjinx的博客 3250

petalinux2022.2启动文件编译配置

petalinux2021之前的版本里,导入目录components/yocto/下的“environment-setup-aarch64-xilinx-linux” 和 “layers/core/oe-init-build-env”的环境,能使用Yocto的devtool工具。(加入下面内容,先petalinux-build下载完成后才能有源码)制作 BOOT.BIN 启动文件:petalinux-package --boot --fsbl --fpga --u-boot --force。

wangjie36的博客 1388

LeetCode45——Jump Game II

LeetCode45——Jump Game II 题意: 在一串序列中,每个索引对应的value表示你能跳的最大步数。 你在任何索引处可以跳[1,value]步,求跳到终点处的最小次数。 这题贪心就在于,假设在每个序列处我们都跳它的最大步数。 这里维护两个索引,一个是当前位置curIndex,一个是下一个最大位置nextIndex 现在假设有序列 [2,3,1,1,4]

上善若水 724

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

leetcode 45 Jump Game II 跳跃游戏详解

Jump Game II 题目描述:Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position...

tangnanshen的博客 457

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

leetcode.array-45. Jump Game II

题目:45. Jump Game II 题目描述:https://leetcode.com/problems/jump-game-ii/description/ 给定一个非负整数序列,位置index的数字代表可以向右最多走nums[index]步,起点位置是0,计算走到最右端点至少需要多少步(假设一定可以走到终点)? 用bfs可能更好写一点,使用一个数组res[]来维护最小步数,最终返回re

Nero Zhang的博客 291

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Leetcode 45. Jump Game II 跳跃游戏 II

Leetcode 45. Jump Game II 跳跃游戏 II 标签: Leetcode 题目地址:https://leetcode-cn.com/problems/jump-game-ii/ 题目描述 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1...

CoderWangSon 278

leetcode 45. Jump Game II贪心算法

Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Your goal is to...

salmonwilliam的博客 542

【LeetCode】45. Jump Game II

【LeetCode】45. Jump Game II Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at tha...

韩旭051的博客 609

【LeetCode 45 55 1306】Jump Game I,II,III【JAVA】

跳跃游戏,合计三道题。 55. Jump Game 1. 题目 运行结果 45. Jump Game II 1. 题目: 运行结果 运行结果 1306. Jump Game III 1. 题目 运行结果

卤小蛋学编程 414

leetcode 45. Jump Game II (dp)

https://leetcode.cn/problems/jump-game-ii/首先,这道题我想到了用map来解决,其实整型数组也可以,但还要考虑长度的问题有点麻烦就算了(其实就是懒) 这个解法看着很乱,我大致解释一下,就是pre每一层存储的都是上一条的最优结点,flag是其对应的最远距离。如果超出了上一条的最大辐射范围,就开启一次新的跳跃。但是,这个思路完全不需要map或者数组,其实只需要维护几个整型变量即可,所以就有了解法2 具体的解释我都放在注释里了,但还是好长啊,根本没有大佬那种几行代码解决问题

ljhsq的博客 382

LeetCode - 解题笔记 - 45 - Jump Game II

Jump Game II Solution 1 乍一看想到动态规划去了,才发现我忽略了最大步长的信息(没有的话就是DP了),因此不需要考虑跳多了的情况,而且体面能够保证绝对能到达,所以不用担心0步长的情形(跳不出去啦!)。 因此本题可以直接使用贪心算法:向后遍历,找出能够跳的最远的选择。 贪心最麻烦的地方就是全局最优解的证明,我这里给出一个简单的思路:从同一个起点出发,如果当前选择不是贪心选择的,那么下一个选择必然比贪心方案跳的更近。完成一次跳跃后有两种情形:贪心方案的第二次选择的位置是否存在于当前方案的第

支锦铭的博客 730

leetcode 45 Jump Game II 详细解答

leetcode 45 Jump Game II 详细解答 从下标 index 走出的范围最大值 max_index,那从当前 index 到 max_index就是一步,所以需要记录 max_index 代码如下:

qq_22210659的博客 184

Leetcode 45. Jump Game II

题目链接:45. Jump Game II 题目大意:给你一个序列,里面的数代表从当前位置最远可以跳多少步,问经过最少多少步能够跳到末尾 题目思路:这题跟Leetcode 55题差不多,只不过做了个最少多少步的优化。我们可以考虑这样一件事,每个点能够达到的最远步数为当前的位置加上步数,那么如果有一个点的最远步数超出了末尾,并且在前面的步数中又可以到达这一步,那么经过有限次迭代之后能够到达末尾,并且...

Nemaleswang的博客 237

【LeetCode】解题45:Jump Game II

LeetCode解题 45:Jump Game II Problem 45: Jump Game II [Hard]解题思路1. 暴力搜索(不剪枝)2. 贪心算法Solution (Java)修改过程 Problem 45: Jump Game II [Hard] Given an array of non-negative integers, you are initially position...

Fayedily的博客 273

LEETCODE 45. Jump Game II

LEETCODE 45. Jump Game II题目大意给出一个正整数数组,每个元素代表当前位置所能跳转的最大步数,求能到达数组最后的的最少跳转次数,实际上是44题的一个变种,44题只是判断能否到达数组最后,本题多加一个要记录最少跳转次数的要求。 例如 A = [2,3,1,1,4] The minimum number of jumps to reach the last index is

默默 341
上一篇: 【LeetCode】240. Search a 2D Matrix II
下一篇: 【LeetCode】455. Assign Cookies
coderwait
博客等级 码龄9年 20粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值