日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

leetcode-55 跳跃游戏

發(fā)布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode-55 跳跃游戏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

給定一個非負整數(shù)數(shù)組,你最初位于數(shù)組的第一個位置。

數(shù)組中的每個元素代表你在該位置可以跳躍的最大長度。

判斷你是否能夠到達最后一個位置。

示例 1:

輸入: [2,3,1,1,4]
輸出: true
解釋: 我們可以先跳 1 步,從位置 0 到達 位置 1, 然后再從位置 1 跳 3 步到達最后一個位置。

示例 2:

輸入: [3,2,1,0,4]
輸出: false
解釋: 無論怎樣,你總會到達索引為 3 的位置。但該位置的最大跳躍長度是 0 ,所以你永遠不可能到達最后一個位置。

即挨著跳躍,并維護一個能跳到最遠的值;每跳一次,更新一次該值。
如果發(fā)現(xiàn)了跳躍的次數(shù)大于能夠跳到最遠的值,說明終點不可達

實現(xiàn)如下(大佬實現(xiàn)—牛逼)

bool canJump(vector<int>& nums) {int k = 0;for (int i = 0; i < nums.size(); i++){if (i > k) return false;k = max(k, i + nums[i]);}return true;
}

我的實現(xiàn):

bool canJump(vector<int>& nums) {if (nums.size() == 0) {return true;}int jump = 0;int max_index = nums[0];while(jump < nums.size()) {if (jump > max_index) {return false;}if (nums[jump] + jump > max_index) {max_index = nums[jump] + jump;}jump ++;}return true;
}

總結(jié)

以上是生活随笔為你收集整理的leetcode-55 跳跃游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。