【LeetCode】45. Jump Game II

Jump Game IIspa

Given an array of non-negative integers, you are initially positioned at the first index of the array.code

Each element in the array represents your maximum jump length at that position.blog

Your goal is to reach the last index in the minimum number of jumps.element

For example:
Given array A = [2,3,1,1,4]it

The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 steps to the last index.)io

 

ret:目前爲止的jump數ast

curRch:從A[0]進行ret次jump以後達到的最大範圍class

curMax:從0~i這i+1個A元素中能達到的最大範圍im

當curRch < i,說明ret次jump已經不足以覆蓋當前第i個元素,所以須要增長一次jump,使之達到img

記錄的curMax。

class Solution {
public:
    int jump(int A[], int n) {
        int ret = 0;
        int curMax = 0;
        int curRch = 0;
        for(int i = 0; i < n; i ++)
        {
            if(curRch < i)
            {
                ret ++;
                curRch = curMax;
            }
            curMax = max(curMax, A[i]+i);
        }
        return ret;
    }
};

相關文章
相關標籤/搜索