LeetCode 題解 | 55. Jump Game(跳躍遊戲 貪心 C++)

題目描述(中等難度)

原題鏈接在這裏插入圖片描述

算法

(貪心) O(n)O(n)
每次更新最大可到達的位置,如果遍歷到當前位置時 i>maxPositioni > maxPosition 說明這個位置不可到達,則返回 falsefalse

時間複雜度是O(n)O(n),空間複雜度是O(1)O(1)

C++代碼

class Solution {
public:
    bool canJump(vector<int> &nums) {
        int n = nums.size(), maxPosition = 0;
        for (int i = 0; i < n; i++) {
            if (maxPosition < i) return false; 
            maxPosition = max(maxPosition, i + nums[i]);
        }
        return true;
    }
};

寫在最後:我的博客主要是對計算機領域所學知識的總結、回顧和思考,把每篇博客寫得通俗易懂是我的目標,分享技術和知識是一種快樂 ,非常歡迎大家和我一起交流學習,有任何問題都可以在評論區留言,也期待與您的深入交流(^∀^●)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章