跳跃游戏
例子演示
class Solution {
public:
bool canJump(vector<int>& nums) {
//使用的是贪心算法
//保证前面的值是最大值,那么可以放心的计算后面的数了
vector<int> index;
int len = nums.size();
if (len == 1)
return true;
for (int i = 0; i<len; ++i)
{
index.push_back(i + nums[i]);//更新数组中每个点能跳到最远的地方
}
int maxindex=index[0];
int bianli=0;
while(bianli<=maxindex&&bianli<len)
{
if(index[bianli]>maxindex)
maxindex=index[bianli];
++bianli;
}
if(bianli>maxindex&&bianli<len)
return false;
return true;
}
};