【LeetCode】55. ジャンプゲーム結題レポート(C++)
1008 ワード
原題住所:https://leetcode-cn.com/problems/jump-game/description/
タイトルの説明:
非負の整数配列を指定すると、最初に配列の最初の位置に位置します.
配列内の各要素は、その位置でジャンプできる最大長を表します.
あなたが最後の位置に着くかどうかを判断します.
例1:
例2:
問題解決方案:
この問題は45問題と似ていて、同じ考え方を採用しています.
タイトルの説明:
非負の整数配列を指定すると、最初に配列の最初の位置に位置します.
配列内の各要素は、その位置でジャンプできる最大長を表します.
あなたが最後の位置に着くかどうかを判断します.
例1:
: [2,3,1,1,4]
: true
: 0 1 1 , 3 。
例2:
: [3,2,1,0,4]
: false
: , 3 。 0 , 。
問題解決方案:
この問題は45問題と似ていて、同じ考え方を採用しています.
class Solution {
public:
bool canJump(vector& nums) {
int i = 0, j = 1, n = nums.size();
while(j < n){
int end = min(nums[i] + i + 1, n);
if(nums[i] == 0) return false;
while(j < end){
if(nums[j] + j >= nums[i] + i ) i = j;
j ++;
}
if(nums[i] + i > n) break;
}
return true;
}
};