【题目描述】
题目链接:点击这里
【思路分析】
贪心规律:
算法思路:
过程举例:
class Solution {
public:
bool canJump(vector<int>& nums) {
vector<int> index; //最远可跳至的位置
//计算index数组
for(int i=0;i<nums.size();i++) {
index.push_back(i + nums[i]);
}
//初始化jump与max_index
int jump = 0;
int max_index = index[0];
//直到jump跳至数组尾部 或 jump超越了当前可以跳的最远位置
while(jump<index.size()&&jump<=max_index) {
//如果当前可以跳的更远,则更新max_index
if(index[jump]>max_index) {
max_index = index[jump];
}
//扫描jump
jump++;
}
//若jump达到数组尾,则返回真
if(jump==index.size())
return true;
return false;
}
};