Leetcode_162_尋找峰值_hn

題目描述

峰值元素是指其值大于左右相鄰值的元素。
給定一個輸入數(shù)組 nums缝驳,其中 nums[i] ≠ nums[i+1]慈俯,找到峰值元素并返回其索引。
數(shù)組可能包含多個峰值起愈,在這種情況下只恨,返回任何一個峰值所在位置即可。
你可以假設(shè) nums[-1] = nums[n] = -∞抬虽。

示例

示例 1:

輸入: nums = [1,2,3,1]
輸出: 2
解釋: 3 是峰值元素官觅,你的函數(shù)應(yīng)該返回其索引 2。

示例2

輸入: nums = [1,2,1,3,5,6,4]
輸出: 1 或 5 
解釋: 你的函數(shù)可以返回索引 1阐污,其峰值元素為 2休涤;
     或者返回索引 5, 其峰值元素為 6笛辟。

說明

你的解法應(yīng)該是 O(logN) 時間復(fù)雜度的功氨。

解答方法

方法一:二分法

思路

nums[i] !=nums[i+1]
nums[?1]=nums[n]=?∞
若找到一個值,右側(cè)的下個值更大手幢,則在右側(cè)一定存在峰值捷凄,反之,自身或者左側(cè)一定存在峰值围来。
看到O(log(n))跺涤,想到二分法。

代碼

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        left = 0
        right = len(nums) -1
        while left<right:
            mid = left + (right - left) // 2
            if nums[mid] < nums[mid + 1]:
                left = mid + 1
            else:
                right = mid
        return left

時間復(fù)雜度

O(logn)

空間復(fù)雜度

O(1)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末监透,一起剝皮案震驚了整個濱河市桶错,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌才漆,老刑警劉巖牛曹,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異醇滥,居然都是意外死亡黎比,警方通過查閱死者的電腦和手機(jī)超营,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阅虫,“玉大人演闭,你說我怎么就攤上這事⊥堑郏” “怎么了米碰?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長购城。 經(jīng)常有香客問我吕座,道長,這世上最難降的妖魔是什么瘪板? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任吴趴,我火速辦了婚禮,結(jié)果婚禮上侮攀,老公的妹妹穿的比我還像新娘锣枝。我一直安慰自己,他們只是感情好兰英,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布撇叁。 她就那樣靜靜地躺著,像睡著了一般畦贸。 火紅的嫁衣襯著肌膚如雪陨闹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天家制,我揣著相機(jī)與錄音正林,去河邊找鬼泡一。 笑死颤殴,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鼻忠。 我是一名探鬼主播涵但,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼帖蔓!你這毒婦竟也來了矮瘟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤塑娇,失蹤者是張志新(化名)和其女友劉穎澈侠,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體埋酬,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哨啃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年烧栋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拳球。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡审姓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祝峻,到底是詐尸還是另有隱情魔吐,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布莱找,位于F島的核電站酬姆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏奥溺。R本人自食惡果不足惜轴踱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谚赎。 院中可真熱鬧淫僻,春花似錦、人聲如沸壶唤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闸盔。三九已至悯辙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迎吵,已是汗流浹背躲撰。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留击费,地道東北人拢蛋。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像蔫巩,于是被迫代替她去往敵國和親谆棱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Time: 2019-08-07難度:中等 題目描述 峰值元素是指其值大于左右相鄰值的元素圆仔。 給定一個輸入數(shù)組 n...
    鋼筆先生閱讀 218評論 0 0
  • [LeetCode][Python]162. 尋找峰值 峰值元素是指其值大于左右相鄰值的元素垃瞧。 給定一個輸入數(shù)組 ...
    bluescorpio閱讀 1,098評論 0 1
  • 原文鏈接: 點(diǎn)這里更多內(nèi)容就在我的個人博客 BlackBlog.tech 歡迎關(guān)注!謝謝大家坪郭! 本文源自LeetC...
    BlackBlog__閱讀 3,248評論 2 13
  • 排序算法幾種分類方式: 1个从,穩(wěn)定排序和不穩(wěn)定排序 如果a==b, 當(dāng)排序之前a在b的前面,排序后嗦锐,a仍然在b...
    fly_ever閱讀 407評論 0 0
  • 養(yǎng)成運(yùn)動的習(xí)慣鸵隧。 制定規(guī)律的運(yùn)動時間和運(yùn)動項目。 在審方室的運(yùn)動方式: 早餐前最好也要運(yùn)動意推,養(yǎng)成第九套廣播體操做兩...
    熾熱石閱讀 135評論 0 0