LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)
LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)
来源:力扣(LeetCode)
链接:题目跳转
给定一个非负整数数组 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 * 104
0 <= nums[i] <= 105
分析:
读完题目后,首先要明确一个意思
从当前位置A 能够到达某一个位置B,那么从当前位置A 都可以到达某一位置B 左侧的所有位置x,此时可以选择在这个位置x停下来,或者不停。
引用力扣大佬解题思路:
1、如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点。
2、可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离 不断更新。
3、如果可以一直跳到最后,就成功了。
上代码
public static boolean canJump(int[] nums) {//定义max,表示能跳到最大的位置int max = 0;for (int i = 0; i < nums.length; i++) {//如果某个位置距离i>max,说明就不能跳到这里if (i > max) {return false;}//这里nums[i] + i ,说明上面i<max,从而说明,是可以跳到这个位置的,当前位置。//然后就判断,当前的最大值max和这个位置i+num[i]比较大小,取最大。max = Math.max(max, nums[i] + i);}return true;}
LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)相关推荐
- 力扣55.跳跃游戏(比较简单)
文章目录 力扣55.跳跃游戏(比较简单) 题目描述 算法思路 代码实现 力扣55.跳跃游戏(比较简单) 题目描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代 ...
- 力扣55. 跳跃游戏(JavaScript)
//每个节点的最大覆盖范围是否能覆盖终点 var canJump = function(nums) {//只有一个,已经在终点if(nums.length==1){return true}//每个数的 ...
- 力扣-55 跳跃游戏
# 超时 class Solution:def canJump(self, nums: List[int]) -> bool:# 回溯+贪心算法if len(nums) == 1:return ...
- 力扣-55.跳跃游戏
nums[i] 表示能跳的最远距离 i+nums[i] 表示能跳到的最远距离下标,当能跳到的最远距离大于最后一个位置时表示TRUE 初始化最远距离为0 class Solution(object):d ...
- 力扣174. 地下城游戏
力扣174. 地下城游戏 文章目录 力扣174. 地下城游戏 一.题目描述 二.分析 三.完整代码 一.题目描述 二.分析 这个题一看就可以用动态规划,就需要确定动态规划的状态和选择以及状态转移方程 ...
- 力扣——174.地下城游戏(困难难度)——万能的递归与动态分析
力扣--174. 地下城游戏 一.算法目录合集 1.地址 2.说明 二.题目说明 1.题干 2.原地址 三.实现步骤 1.思路分析 1.1.分析问题 1.2.具体步骤 ① 特殊情况分析 ② 常规分析 ...
- 力扣 -- 174. 地下城游戏
题目链接:174. 地下城游戏 - 力扣(LeetCode) 下面是用动态规划的思想解决这道题的过程,相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴. 参考代码: class Solution { ...
- 力扣45跳跃游戏II(难)JAVA
力扣题解 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 假设你总是可以到达数 ...
- 动态规划-博弈问题-力扣877-石子游戏
亚历克斯和李用几堆石子在做游戏.偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] .游戏以谁手中的石子最多来决出胜负.石子的总数是奇数,所以没有平局.亚历克斯和李轮流进行,亚历克斯先开始. ...
最新文章
- 从GitHub上无法下载子模块问题解决
- Golang项目部署
- Nexus刷官方下载的映像_occam
- 这个省到2025年,PUE>1.3存量大型数据中心将全部腾退关停!
- nacos 启动_【Nacos源码之配置管理 一】阅读源码第一步,本地启动Nacos
- Python框架篇之Django(Template基础:模板语法、过滤器filter)
- diskcheck.sh
- 以太坊智能合约开发第五篇:字符串拼接—Solidity
- man后面的数字(转)
- linux 脚本 日志文件,在linux下用脚本输出日志
- 基于校园图书管理系统需求分析
- 前端工程师月薪上万的秘密
- Oracle VM VirtualBox 安装增强功能
- 新浪微博开放平台API访问频率限制解决方法
- Keil暗色模式配置文件
- elasticsearch 实现查询忽略大小写
- PS制作gif动态图
- getline()详解
- java 压缩加密_Java实现自动压缩文件并加密的方法示例
- OriginPro常用配置