【LeetCode笔记】55. 跳跃游戏(Java、贪心法)
文章目录
- 题目描述
- 解法 & 思路
题目描述
- 可以用动态规划来做,dp[i]代表以第i个下标做起点,可以到达的最远的地方,从后往前走,最后dp[0] >= len-1说明可达。
- 不过我的dp相对于贪心法慢了不少(400+ms)
解法 & 思路
- 贪心法,从前往后走
- 维护一个 far 变量,代表到目前为止可达的最远的地方
- 在从前往后的循环中,far变量会不断更新,既是一个结果,又是一个循环结束的条件。
- 比如[2,3,1,1,4]的例子,第一次循环的时候,nums[0] = 2,那么far += 2,此时
far = 2,就代表当前可以通过nums[0]走到nums[2],接下来就可以再通过nums[1],nums[2]来对far进行更新(如果这两个内容可以让far走得更远的话)
class Solution {public boolean canJump(int[] nums) {// 当前可达最远距离int far = 0;// 注意,循环结束条件是 <= far,也就是根据更新来获取当前可达最远距离,并且由此走到各个路径进行判断// 时间复杂度O(n),一趟走完for(int i = 0;i <= far;i++) {int temp = i + nums[i];if(temp >= nums.length - 1) {return true;}far = Math.max(far,temp);}return false;}
}
【LeetCode笔记】55. 跳跃游戏(Java、贪心法)相关推荐
- Leetcode刷题笔记 55. 跳跃游戏
55. 跳跃游戏 时间:2020年12月1日 知识点:贪心 题目链接:https://leetcode-cn.com/problems/jump-game/ 题目 给定一个非负整数数组,你最初位于数组 ...
- LeetCode 55. 跳跃游戏(贪心)
1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1,4] 输出: ...
- leetcode:55. 跳跃游戏【经典贪心】
分析 维护当前走到的位置,以及当前能走的最大区间内下一次走到的最远位置maxPos 当前能走的位置就是[cur, maxPos]但是在走的过程中,边走边看下一次的maxPos,然后当cur走到上一个m ...
- 【LeetCode】55.跳跃游戏
题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 题解 方法一:回溯(暴力法递归) 算法 代码 class ...
- 【LeetCode】55. 跳跃游戏 (JavaScript)
原题 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: 输入:nums = [2,3 ...
- 《LeetCode力扣练习》第55题 跳跃游戏 Java
<LeetCode力扣练习>第55题 跳跃游戏 Java 一.资源 题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大 ...
- Java实现 LeetCode 55 跳跃游戏
55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...
- 代码随想录算法训练营第三十二天_第八章_贪心算法 | 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II
LeetCode 122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...
- LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)
LeetCode55跳跃游戏//力扣55跳跃游戏(贪心) 来源:力扣(LeetCode) 链接:题目跳转 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该 ...
- LeetCode—55.跳跃游戏(Jump Game)——分析及代码(C++)
LeetCode-55.跳跃游戏[Jump Game]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码(简洁) (3)代码(高效) (4)结果 三.其他 一.题目 ...
最新文章
- 实战:手把手教你实现用语音智能控制电脑 | 附完整代码
- vc++ 将可执行文件链接到 DLL
- pandas数据存储于读取
- matlab linspace
- 东北农业大学大学计算机基础作业答案,大学计算机基础实践教学改革的研究
- Linux Shell 操作命令 ls
- 创建目录_Word创建自动目录,你会了吗?
- DSP之时钟与定时器之二通用定时器
- 解决From 192.168.1.10: icmp_seq=1 Redirect Network(New nexthop: 192.168.1.1)问题
- GPS广播星历和精密星历的下载
- python支持复数类型以下说法错误的是_关于Python的数字类型,以下选项中描述错误的是...
- markdown文本居中
- JAVA编程语言基础第六章
- Java 他们每人单独过桥的时间是_java实现 n人过桥问题
- 西门子1200plc485轮询读写28个测试仪表,包括plc程序和触摸屏程序,仪表485通讯协议说明书
- n8_Visualizing Multivariate_sns_3D plot_matplotlib.dates_mpl_finance_aapl stock_EMA_RSI_Bollinger
- 前端入门教程(四)head内常用标签与body内常用标签
- 真相为何竟如此难得 -- 《中国健康调查报告》
- rtx2060为什么叫智商卡_八款RTX2060简单点评,谁是丐中丐,谁又是丐帮帮主
- Linux awk 命令详解
热门文章
- python url中传递中文_Python编程:URL网址链接中的中文编码与解码
- 关于tensorflow的碎片
- 中柏平板u盘启动_中柏电脑如何设置BIOS U盘启动
- php修改找不到数据类型,php – 在$_POST中找不到输入类型=图像值
- 怎样把java项目转换成web项目_Eclipse中将Java项目转换成Web项目的方法
- c语言注释参与程序设计的编译,提高C语言程序设计教学的有益探索
- mysql8导出文件_windows下 Mysql 8.0.x 数据库简单的导出和导入!!!
- Python中矩阵库Numpy基本操作
- Hack.Chat 在浏览器里快速建立简单、随用即丢线上聊天室,无须下载安装软体
- Ios 12 linux,苹果发布iOS 12.4.1,以修补越狱漏洞