852. 山脈數(shù)組的峰頂索引

我們把符合下列屬性的數(shù)組 A 稱作山脈:
A.length >= 3
存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
給定一個(gè)確定為山脈的數(shù)組,返回任何滿足 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 的 i 的值。

示例 1:

輸入:[0,1,0]
輸出:1

示例 2:

輸入:[0,2,1,0]
輸出:1

提示:

3 <= A.length <= 10000
0 <= A[i] <= 10^6
A 是如上定義的山脈

思路

其實(shí)就是找整個(gè)數(shù)組最大值,但是由于存在一定順序,所以可以二分查找

性能分析

時(shí)間復(fù)雜度O(logN),空間復(fù)雜度O(1)

具體代碼

class Solution {
    public int peakIndexInMountainArray(int[] A) {
        //賦初值
        int left = 0;
        int right = A.length - 1;
        int mid = (left + right) / 2;

        //二分查找
        while(left < right){
            mid = (left + right) / 2;
            //在左側(cè)上升坡,則left右移
            if(A[mid] < A[mid + 1]){
                left = mid + 1;
            }
            //在右側(cè)下降坡,則right左移
            else{
                right = mid;
            }
        }
        //此時(shí)left = right = 最終結(jié)果
        return left;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,596評(píng)論 0 13
  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,081評(píng)論 0 2
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,153評(píng)論 0 2
  • 倘若敲不開你的心扉 我可以嘗試住進(jìn)你的胃 讓你體會(huì)被愛的滋味
    大貴貴丿閱讀 272評(píng)論 3 6
  • 退休了,也是為自己活的開始,不用為生活奔波,做點(diǎn)自己喜歡的事吧
    小寶姥姥閱讀 185評(píng)論 0 0

友情鏈接更多精彩內(nèi)容