LeetCode 162. 寻找峰值(二分查找)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 162. 寻找峰值(二分查找)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
峰值元素是指其值大于左右相鄰值的元素。
給定一個輸入數(shù)組 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。
數(shù)組可能包含多個峰值,在這種情況下,返回任何一個峰值所在位置即可。
你可以假設 nums[-1] = nums[n] = -∞。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-peak-element
著作權歸領扣網(wǎng)絡所有。商業(yè)轉載請聯(lián)系官方授權,非商業(yè)轉載請注明出處。
2. 二分查找
題目假設nums[-1]=nums[n]=-∞。
-
如果nums[i] > nums[i+1],則在i之前一定存在峰值元素
-
如果nums[i] < nums[i+1],則在i+1之后一定存在峰值元素
-
添加兩個虛擬左右端點,二分查找
總結
以上是生活随笔為你收集整理的LeetCode 162. 寻找峰值(二分查找)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 16.16.
- 下一篇: LeetCode 1366. 通过投票对