leetcode Jump Game

3213 단어 LeetCode
이 문제는 그 문제 과 유사한데, 이 문제는 더욱 간단하다.나는 애초에 이 문제를 풀었다.이전 코드는 다음과 같습니다.
class Solution {

public:

    bool canJump(int A[], int n) {

        if (n < 2)

            return true;

        int canReach = 0; 

        for (int i = 0; i < n; ++i)

        {

            if (i > canReach)

                return false;

            canReach = max(canReach, i + A[i]); //

        }

        return true;

    }

};

지금 하는 일은 다음과 같다.
class Solution {

public:

    bool canJump(int A[], int n) {

        if(n < 2) return true;

        int canReach = A[0];

        for (int i = 1; i <= canReach; i++)

        {

            canReach = max(canReach, A[i] + i);

            if (canReach >= n - 1) return true;

        }

        return false;

    }

};

두 가지 생각이 모두 옳다.

좋은 웹페이지 즐겨찾기