当前位置:网站首页>【力扣】55. 跳跃游戏
【力扣】55. 跳跃游戏
2022-08-09 14:58:00 【漆黑丶】
题目:
给定一个非负整数数组 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
答案:
class Solution {
public boolean canJump(int[] nums) {
//如果所有元素都不为0, 那么一定可以跳到最后;
//从后往前遍历,如果遇到nums[i] = 0,就找i前面的元素j,使得nums[j] > i - j。如果找不到,则不可能跳跃到num[i+1],返回false。
if(nums.length == 1 )return true;
int j;
for(int i = nums.length - 1; i >= 0; i--){
if(nums[i] == 0){
for(j = i; j >= 0; j--){
if(i == nums.length - 1 && nums[j] == i - j) break;
if(nums[j] > i - j) break;
}
if(j < 0){
return false;
}
else i = j;
}
}
return true;
}
}
边栏推荐
猜你喜欢
随机推荐
hugging face tutorial - Chinese translation - tokenizers using Tokenizers
[Deep Learning] Original Problem and Dual Problem (6)
微信小程序tabs
【研究生工作周报】(第三周)
Why learn the principles of compiling
【论文阅读】LIME:Low-light Image Enhancement via Illumination Map Estimation(笔记最全篇)
模仿微信金钱输入框规则(修复7.0手机崩溃)
flask局域网访问失败解决方法(使用pycharm运行代码的一定要看)
数据缺失对任务影响
研究生工作周报
NLP-Reading Comprehension Task Learning Summary Overview
交叉编译 OpenSSL
NiN(Network in Network) pytorch实现
【研究生工作周报】(第十二周)
封装仿支付宝密码输入效果
你知道亚马逊代运营的成本是多少吗?
【剑指 Offer II 091. 粉刷房子】
crontab失效怎么解决
opencv图像处理及视频处理基本操作
关于亚马逊的坑你知道几个?









