Leetcode 跳跃游戏 II

题目链接: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 };
View Code

猜你喜欢

转载自www.cnblogs.com/zaq19970105/p/11408317.html