[LeetCode] 55.ジャンプゲームジャンプゲーム(ミディアム)(JAVA)
トピック住所:https://leetcode.com/problems/jump-game/
件名の説明:
非負の整数の配列を考えると、あなたは最初に、配列の最初のインデックスに配置されています。
配列の各要素は、その位置で、あなたの最大ジャンプ長さを表しています。
あなたが最後のインデックスに達することができるかどうかを判断します。
例1:
Input: [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.
例2:
Input: [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum
jump length is 0, which makes it impossible to reach the last index.
効果の対象に
非負整数配列を考えると、あなたは最初に、配列の最初の位置にあります。
配列の各要素は、あなたがその位置にジャンプすることができた最大の長さを表しています。
あなたが最終位置に到達することができるかどうかを判断するには。
問題解決のアプローチ
図1に示すように、現在のレコードが最大の最も遠い距離を移動することができ
、現在のインデックスが最大距離よりも大きい場合、2、説明は先にジャンプすることができませんでした
class Solution {
public boolean canJump(int[] nums) {
if (nums.length <= 1) return true;
int max = nums[0];
for (int i = 1; i < nums.length; i++) {
if (i > max) return false;
if ((i + nums[i]) > max) max = i + nums[i];
if (max >= (nums.length - 1)) return true;
}
return true;
}
}
実行時:2ミリ秒、のJavaに提出するすべてのユーザーの63.60パーセントを打つ
メモリ消費量:40.9メガバイトは、Javaで提出するすべてのユーザーの24.76パーセントを破りました