2021 2 23 55 跳躍遊戲(貪心演算法)

2021-10-19 21:55:59 字數 786 閱讀 8852

題目:

給定乙個非負整數陣列 nums ,你最初位於陣列的 第乙個下標 。

陣列中的每個元素代表你在該位置可以跳躍的最大長度。

判斷你是否能夠到達最後乙個下標。

示例 1:

輸入:nums = [2,3,1,1,4]

輸出:true

解釋:可以先跳 1 步,從下標 0 到達下標 1, 然後再從下標 1 跳 3 步到達最後乙個下標。

示例 2:

輸入:nums = [3,2,1,0,4]

輸出:false

解釋:無論怎樣,總會到達下標為 3 的位置。但該下標的最大跳躍長度是 0 , 所以永遠不可能到達最後乙個下標。

題解:這樣以來,我們依次遍歷陣列中的每乙個位置,並實時維護 最遠可以到達的位置。對於當前遍歷到的位置 x,如果它在 最遠可以到達的位置 的範圍內,那麼我們就可以從起點通過若干次跳躍到達該位置,因此我們可以用 x+nums[x] 更新 最遠可以到達的位置。

在遍歷的過程中,如果 最遠可以到達的位置 大於等於陣列中的最後乙個位置,那就說明最後乙個位置可達,我們就可以直接返回 true 作為答案。反之,如果在遍歷結束後,最後乙個位置仍然不可達,我們就返回 false 作為答案。

class

solution

int size=nums.

size()

;int mostpos=0;

for(

int i=

0;i}}

return

false;}

};

跳躍遊戲 貪心

時間限制 1000ms 記憶體限制 65536k給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 不能跳躍到...

跳躍遊戲 貪心

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 不能跳躍到最後乙個下標,輸出fal...

Leetcode 跳躍遊戲 貪心

題目描述 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0,4 輸...