給定乙個非負整數陣列,你最初位於陣列的第乙個位置。
陣列中的每個元素代表你在該位置可以跳躍的最大長度。
判斷你是否能夠到達最後乙個位置。
示例 1:
輸入: [2,3,1,1,4]
輸出: true
解釋: 我們可以先跳 1 步,從位置 0 到達 位置 1, 然後再從位置 1 跳 3 步到達最後乙個位置。
示例 2:
輸入: [3,2,1,0,4]
輸出: false
解釋: 無論怎樣,你總會到達索引為 3 的位置。但該位置的最大跳躍長度是 0 , 所以你永遠不可能到達最後乙個位置。
這是乙個典型的簡單的動態規劃問題
定義乙個與輸入陣列長度相等的bool
陣列,分別表示從當前位置是否能夠到達最後一步
我們從後面往前面開始規劃,可以肯定的是,從最後一步到最後一步肯定是可以到達的,所以bool
陣列的最後乙個元素的值為true
然後是前面的乙個位置,那麼要計算當前位置是否能夠到達最後乙個位置,我們只需要看從當前位置能夠向後走的步數所到達的位置中是否存在能夠到達最後一步的位置,如果存在這樣的位置,那麼我們就判斷當前位置能夠到達最後一步,如果不存在這樣的位置,那麼我們判定當前位置不能到達最後的位置
func canjump(nums int) bool
iscan := make(bool, len(nums))
iscan[len(nums)-1] = true
for index := len(nums) - 1; index >= 0; index--
} }return iscan[0]
}
LeetCode 跳躍遊戲 55
給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0,4 輸出 fa...
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 輸出 ...