leetcode55
我的解决方法:
class Solution {
public:
bool canJump(vector<int>& nums) {
int far_most = nums[0];
for(int i=0;i<=far_most;i++){
if(far_most >= nums.size()-1) return true;
far_most = max(far_most, i+nums[i]);
}
if(far_most < nums.size()-1) return false;
return true;
}
};
简单的遍历一遍数组。时间复杂度为O(n)
tag里面有greedy,我也没看懂怎么个greedy法。看了别人的solution,感觉都算不上是贪心,基本上也是遍历一遍数组。
没有什么纠结的意义了。