leetcode 55.跳跃游戏
贪心,$O(n)$。
扫一遍数组。声明一个last存从1出发可以跳到的最远位置。如果可以跳到$i$,那么最远的位置起码可以到$i+nums[i]$。如果扫到最远都到不了的点,就return 0。
class Solution { public: bool canJump(vector<int>& nums) { int last=0; for (int i=0;i<nums.size();i++) if (i<=last) last=last>i+nums[i]?last:i+nums[i]; else return false; return true; } };

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号