LeetCode 45.ジャンピングゲーム2
非負整数配列を考えると、あなたは最初に、配列の最初の位置にあります。
配列の各要素は、あなたがその位置にジャンプすることができた最大の長さを表しています。
あなたの目標は、配列の最後の位置に到達するためのホップの最小数を使用することです。
例:
入力:[2,3,1,1,4]
出力:2
説明:ホップの最小数は、最後の位置にジャンプが2です。
1の位置、1段ジャンプ、ジャンプインデックスにインデックス0からジャンプした後、3達する配列の最後の位置をステップ。
説明:
あなたと仮定すると、常に配列の最後の位置に到達することができます。
出典:滞在ボタン(LeetCode)
//leetcode-cn.com/problems/jump-game-ii:リンク:httpsの
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。
答え、貪欲アルゴリズムは、ジャンプのすべてのステップは、最大範囲の次のポイントに到達します
クラス解決{ パブリック: INTジャンプ(ベクトル< INT >&NUMS){ int型、S = 0 。 int型私は= 0を。 一方、(I < nums.size()) { int型の最大値= 0 。 int型 J = I; もし(I + NUMS [I]> = nums.size() - 1 ) リターン(I == nums.size() - 1)S:S + 1 。 他 { ための(int型 K = I; K <= I + NUMS [i]は、K ++) { もし(K + NUMS [K]> MAX) { J = K。 最大 = K + NUMS [K]。 } } } 、I = J。 S ++ ; } 戻りS。 } }。