代码随想录算法训练营第二十八天-贪心算法-55. 跳跃游戏
- 这是一道把看起来扑朔迷离的数学题巧妙转化成范围判定的题目
- 真是思想闪光之处,让人叹为观止
- 把计算哪个格子步数可以走到最后一条,改变成,基某一个格处所走的范围是否可以覆盖最后一格
#include <iostream>
#include <vector>
class Solution {
public:
bool canJump(std::vector<int>& nums) {
int cover = 0;
if (nums.size() == 1)
return true;
for (int i = 0; i <= cover; ++i) {
cover = std::max(cover, i + nums.at(i));
if (cover >= nums.size() - 1)
return true;
}
return false;
}
};
int main()
{
Solution s;
std::vector<int> nums {3, 2, 1, 0, 4};
std::cout << s.canJump(nums) << std::endl;
return 0;
}
- 汇总