leetcode刷题 162.寻找峰值
生活随笔
收集整理的這篇文章主要介紹了
leetcode刷题 162.寻找峰值
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目分析:
通過(guò)題目,我們發(fā)現(xiàn)這題的本質(zhì)是尋找一段數(shù)組范圍內(nèi)的最大值,我們可以通過(guò)不斷的縮小數(shù)組范圍來(lái)尋找目標(biāo)值,由縮小數(shù)組范圍我們可以聯(lián)想到二分查找,但是此二分查找有一不同點(diǎn),就是中值不是同左右界值進(jìn)行比較,而是和中值相鄰的數(shù)值進(jìn)行比較,究其原因是因?yàn)榉逯档奶攸c(diǎn)是大于相鄰值。
代碼:
class Solution { public:int findPeakElement(vector<int>& nums){int left=0,right=nums.size()-1,mid=0;while(left<right){mid=(left+right)/2;if(nums[mid]>nums[mid+1]){right=mid;}else{left=mid+1;}}return right;} };總結(jié)
以上是生活随笔為你收集整理的leetcode刷题 162.寻找峰值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 太古神王的升级攻略是什么
- 下一篇: leetcode刷题 82.删除排序链表