leetcode45 跳跃游戏II 秒杀所有答案
生活随笔
收集整理的這篇文章主要介紹了
leetcode45 跳跃游戏II 秒杀所有答案
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)非負(fù)整數(shù)數(shù)組,你最初位于數(shù)組的第一個(gè)位置。
數(shù)組中的每個(gè)元素代表你在該位置可以跳躍的最大長(zhǎng)度。
你的目標(biāo)是使用最少的跳躍次數(shù)到達(dá)數(shù)組的最后一個(gè)位置。
示例:
輸入: [2,3,1,1,4]
輸出: 2
解釋: 跳到最后一個(gè)位置的最小跳躍數(shù)是 2。
?? ? 從下標(biāo)為 0 跳到下標(biāo)為 1 的位置,跳?1?步,然后跳?3?步到達(dá)數(shù)組的最后一個(gè)位置。
說(shuō)明:
假設(shè)你總是可以到達(dá)數(shù)組的最后一個(gè)位置。
思路:每跳一次,計(jì)算能跳的范圍內(nèi),能讓下一次跳的最遠(yuǎn)的地方。
class Solution {public int jump(int[] nums) {int maxIndex=0;//當(dāng)前能跳到最遠(yuǎn)的地方int ans=0;//答案int len=nums.length;//數(shù)組長(zhǎng)度if(len==1)return 0;int i=0;while(maxIndex<len-1){ans++;int temp=0;for(int j=i;j<=maxIndex;++j){if(temp<j+nums[j])temp=j+nums[j];}//找到下次能挑到最遠(yuǎn)的地方,并賦值。i=maxIndex;maxIndex=temp;}return ans;} }總結(jié)
以上是生活随笔為你收集整理的leetcode45 跳跃游戏II 秒杀所有答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安全方面知识
- 下一篇: 动态规划-背包是否装满