题目链接:https://leetcode-cn.com/problems/jump-game-ii/
题目大意:
略。
分析:
贪心 + DP。
代码如下:
1 class Solution { 2 public: 3 int jump(vector<int>& nums) { 4 int jump = 0; 5 int cur = 0; 6 int next = 0; 7 8 for(int i = 0; i < nums.size(); ++i) { 9 if(cur < i) { 10 ++jump; 11 cur = next; 12 } 13 next = max(next, i + nums[i]); // 一定可以通过jump次跳跃跳到i,因为经过jump次跳跃可以跳到大于等于i的地方,因此可以计算第jump+1次跳跃最远能跳到哪里 14 } 15 return jump; 16 } 17 };