昆明市哪里有网站建设,百度百家官网入口,空间域名,怎样做模具钢网站题目描述
给你一个非负整数数组 nums #xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标#xff0c;如果可以#xff0c;返回 true #xff1b;否则#xff0c;返回 false 题目分析
题目中…题目描述
给你一个非负整数数组 nums 你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标如果可以返回 true 否则返回 false 题目分析
题目中描述数组中每个元素代表其能跳跃的最大长度因此可以使用贪心算法来解决该问题
先构造一个表示能跳跃到的最大位置max_jump值初始值为0在遍历数组时 若当前值的下标小于等于max_jump表示能够从前面的某个元素跳跃到当前位置接下来比较当前元素值当前元素位置是否大于max_jump若大于则更新max_jump否则不更新max_jump 若当前值的下标大于max_jump表示不能从前面的所有元素跳跃到当前位置结束遍历返回false 如果可以一直跳到最后返回true
Code
class Solution {
public:bool canJump(vectorint nums) {int max_jump 0;for (int i 0; i nums.size(); i) {if (i max_jump) {max_jump max(max_jump, i nums[i]);} else {return false;}}return true;}
};