leetcode日记(43)跳跃游戏
记得以前做过,当时没搞清逻辑关系想了好久,现在认识了贪心算法,很快就看出来了
class Solution {
public:
bool canJump(vector<int>& nums) {
int i=0;
int n=nums[0];
while(i!=n&&n<nums.size()-1){
i++;
n=max(n,i+nums[i]);
}
if(n>=nums.size()-1) return 1;
return 0;
}
};
其实很简单,i代表当前位置,n代表可移动到的最末位置,从i遍历到n,如果当前i+nums[i]要大于n则更新n,直到i和n相等无法继续前进或i到达终点。
原文地址:https://blog.csdn.net/s478527548/article/details/140517121
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!