給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。方法1:動態規劃示例 1:
輸入: [2,3,1,1,4]
輸出: true
解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後乙個位置。
示例 2:
輸入: [3,2,1,0,4]
輸出: false
解釋: 無論怎樣,你總會到達索引為 3 的位置。但該位置的最大跳躍長度是 0 , 所以你永遠不可能到達最後乙個位置。
從左到右依次判斷索引座標i是否能跳到,當遍歷到陣列末尾時,當dp[nums.length-1]==true時說明能跳到這個位置。即可以跳到最後乙個位置。
方法2: 貪心演算法
從右向左迭代,對於每個節點我們檢查是否存在一步跳躍可以到達 good 的位置(currposition + nums[currposition] >= leftmostgoodindex)。
如果可以到達,當前位置也標記為 good ,同時,這個位置將成為新的最左邊的 good 位置,一直重複到陣列的開頭,如果第乙個座標標記為 good 意
味著可以從第乙個位置跳到最後的位置。
方法1:動態規劃
public
static
boolean
canjump
(int
nums)}}
return dp[nums.length-1]
;}
方法2:貪心演算法
public
static
boolean
canjump2
(int
nums)
}return lastpos ==0;
}
方法1:動態規劃
方法2:貪心演算法
LeetCode55 跳躍遊戲
leetcode55.跳躍遊戲 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入...
LeetCode 55 跳躍遊戲
題目鏈結 題目描述 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。輸入 3,2,1,0,4 輸出 ...
LeetCode 55 跳躍遊戲
問題 給定乙個非負整數陣列,你最初位於陣列的第乙個位置,陣列中的每個元素代表你在該位置可以跳躍的最大長度,判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0,4 輸出...