潍坊网站建设教程,冠县哪里有做网站的,建设局焊工证图样,wordpress图片被拉伸题解
给你一个非负整数数组 nums #xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标#xff0c;如果可以#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。 输入样例
示例 1…题解
给你一个非负整数数组 nums 你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标如果可以返回 true 否则返回 false 。 输入样例
示例 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 1040 nums[i] 105 题解
如何判断终点是否可达 对于每一个位置start都有一个可以到达的最远点end区间[start,end]同时也是当前的可行区间对于某个位置如果最远可以到达的位置大于等于数组中的最后一个位置那就说明最后一个位置可达 思路 每一个位置都有一个可以到达的最远点end这个最远点有可能是由当前位置start计算出来的即startnums[start]也有可能是位置start前计算出来的我们只需要判断最远点是否大于等于nums.size()-1即可 代码
class Solution {
public:bool canJump(vectorint nums) {int end0;//能够到达的最远点int nnums.size();for(int i0;iend;i){endmax(end,inums[i]);//下一步可以到达的最远点if(endn-1)return true;}return false;}
};