貪心 跳躍遊戲

2021-10-05 04:31:21 字數 1188 閱讀 3212

跳躍遊戲

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

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

判斷你是否能夠到達最後乙個位置。

幾天沒刷題,本來就菜的人變得更菜,這麼簡單的題都懵了。

這道題就是簡單的貪心,算出每個位置能到達的最遠位置。

比如nums=

nums[0]最遠到達nums[0]+0=3的位置;

nums[1]到達nums[1]+1=3的位置,3等於上一步的3,最遠達到3;

nums[2]到達nums[2]+2=3的位置,最遠達到3;

nums[3]到達nums[3]+3=3的位置,最遠達到3;

至此,在第四個位置即nums[3]不能繼續前進了,失敗結束。

再來,nums=

nums[0]最遠到達nums[0]+0=5的位置;

nums[1]到達nums[1]+1=10的位置,5和10取最大,最遠到達10;;

nums[2]可到達nums[2]+2=5的位置,最遠到達10;

nums[3]可到達nums[3]+3=5的位置,最遠到達10;

nums[4]可到達nums[4]+4=5的位置,最遠到達10;

nums[5]可到達nums[5]+5=5的位置,最遠到達10;

nums[6]可到達nums[6]+6=8的位置,最遠到達10;

nums[7]可到達nums[7]+7=10的位置,最遠到達10;

nums[8]可到達nums[8]+8=11的位置,11和10取最大,最遠到達11;

nums[9]可到達nums[9]+9=10的位置,最遠到達11;

nums[10]可到達nums[10]+10=10的位置,最遠到達11;

nums[11]可到達nums[11]+11=11的位置,最遠到達11;

最遠距離=nums長度,成功結束。

這個過程中,陣列需要遍歷一遍,沒有用到額外空間,所以時間複雜度是o(n),空間複雜度為o(1).

**:

public

static

boolean

canjump

(int

nums)

return maxdistance>=nums.length-1;

}

好好敲**,不要犯懶!!!

計蒜客 貪心 跳躍遊戲

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

跳躍遊戲 貪心

時間限制 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...