题目:55. 跳跃游戏\
思路
贪心法;
本题不考察怎么样到达终点的,只关注能不能到达终点;
Method 1
自己写的
// 本题不考察怎么到达终点的,而是能不能到达;
class Solution {
public:bool canJump(vector<int>& nums) {int cover = 0, i;for(i = 0; i < nums.size(); i++){// 能达到当前位置if(cover >= i){if(nums[i] > 0 && nums[i] + i > cover){cover = nums[i] + i;}}}if(cover >= nums.size()-1){return true;}else{return false;}}
};
Method 2
from 代码随想录
class Solution {
public:bool canJump(vector<int>& nums) {int cover = 0, i;if(nums.size() == 1){return true;}for(i = 0; i <= cover; i++){cover = max(cover, nums[i] + i);// 到终点了if(cover >= nums.size()-1){return true;}}return false;}
};
别想那么多,一个借一个的跳吧!