問題のLeetCodeソリューション| 45ジャンプゲームII(ジャンピングゲーム貪欲C ++)

タイトル説明(難易度)

オリジナルタイトルリンク
ここに画像を挿入説明

アルゴリズム

(貪欲) ザ・ n個 O(N)

あなたが最大距離を更新するたびに、そしてジャンプのすべてのステップは、いつでも、範囲としての範囲とすることができます = = E n個 D 私==終了 、その後、場合、1つのステップをジャンプする必要があり E n個 D 終わり 以上で S から E - 1 サイズ - 1 、あなたはループのために終了することができます
サイズ=ダイレクトリターン夜12時01分:注意
ここに画像を挿入説明

時間の複雑さがあります ザ・ n個 O(N) 、空間的複雑です ザ・ 1 O(1)

C ++コード

class Solution {
public:
    int jump(vector<int> &nums) {
        
        int steps = 0;
        int end = 0;
        int maxPosition = 0;
        if (nums.size() <= 1) return 0;
        for (int i = 0; i < nums.size(); i++) {
            maxPosition = max(maxPosition, i + nums[i]);
            if (i == end) {
                end = maxPosition;
                steps++;
                if (end >= nums.size() - 1) break;
            }
        }

        return steps;
    }
};

最後に書かれたブログは思考の知識をまとめたコンピュータサイエンスの分野を中心に、レビューは、私の目標を理解することは容易である各ブログを書くために、:技術と知識を共有することは喜びである、と私はみんなを歓迎します一緒に学習の交換をして、そこにコメントエリアには疑問もありませんが、またあなた(^∀^●)との深い交流を楽しみにすることができます

308元記事公開 ウォンの賞賛149 ビュー150,000 +を

おすすめ

転載: blog.csdn.net/qq_43827595/article/details/105069941