网站和网页的概念,记账代理公司注册,网站开发常用软件是什么,做自行车车队网站的名字题目
给定一个非负整数数组 nums #xff0c;你最初位于数组的 第一个下标 。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标。
示例 1#xff1a;
输入#xff1a;nums [2,3,1,1,4]
输出#xff1a;true
解释#xff1a;可以…题目
给定一个非负整数数组 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 * 10^40 nums[i] 10^5 解答
源代码
class Solution {public boolean canJump(int[] nums) {// k表示最远能够走到哪个下标int k 0;// i代表现在走到哪个下标for (int i 0; i nums.length; i) {if (i k) {return false;}k Math.max(k, i nums[i]);}return true;}
}
总结
这个题不用想得太复杂就直接把遍历数组想象成走路计算出当前可到达的最远下标在向前走时不断对比更新可到达的最远下标若当前走到的下标已经大于可到达的最远下标那就表示这个数组没办法到达最后一个下标。