leetcode45. 跳跃游戏 II
生活随笔
收集整理的這篇文章主要介紹了
leetcode45. 跳跃游戏 II
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:論語
己所欲 也要勿施于人 ,每個人的經歷和閱歷都是不同的 你憑啥說你認為的很開心的事情 去要求別人呢
二:題目
三:上碼
class Solution { public:int jump(vector<int>& nums) {/**思路:1.這里的難點就在于 我們需要判斷下一步的的最遠跳躍距離,而不能只考慮每次都跳最遠的距離因為比如(2 3 1 2 4) 如果我們一開始就按最遠距離跳躍的話,我們就會錯過 3 然而3可以一步到位 2.基于此 我們就需要設置一個變量來 不斷更新我們的相鄰的坐標最遠跳躍距。*/if(nums.size()==1) return 0; int nextDistence = 0;//下一個坐標可以移動的最遠距離int curDistence = 0;//當前坐標可以移動的最遠距離int step = 0;for(int i = 0; i < nums.size(); i++) { //i+nums[i]nextDistence = max(i+nums[i],nextDistence);//i+nums[i]//這里統計的移動的最遠距離是從頭開始計算的if(nextDistence >= nums.size()-1) return step+1;//這里如果加一 是統計我們的最后一步到位//當到達上一步最遠的距離的時候,那么就意味著我們需要進行一次新的起跳距離if(i == curDistence){step++;curDistence = nextDistence;}}return step;} }; 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的leetcode45. 跳跃游戏 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈博森 ACE 2(内置 4G)无人机上
- 下一篇: OPPO Pad Air2 平板今日首销