852 山脈陣列的峰頂索引

2021-09-11 19:00:41 字數 719 閱讀 1248

題目分析可知肯定是有山峰的,所以其實就是找到最大值的索引就可以了

一、順序查詢

class solution:

def peakindexinmountainarray(self, a: list[int]) -> int:

i = 0

while a[i] <= a[i+1]:

i+=1

return i

二、二分查詢

class solution:

def peakindexinmountainarray(self, a: list[int]) -> int:

low = 0

high = len(a) - 1

while low <= high:

mid = (low + high) // 2

middle_num = a[mid]

if middle_num > a[mid-1] and middle_num > a[mid+1]:

return mid

if a[mid-1]1.//是向下取整的意思吧

三、return a.index(max(a))

python自帶的函式一般都會有內部的優化

852 山脈陣列的峰頂索引 簡單

題目 於力扣 leetcode 目錄三 實現 四 執行用時 五 部分測試用例 852.山脈陣列的峰頂索引 說明 據題意 陣列是乙個確定為山脈的陣列,即找到最大值既是頂峰遍歷陣列 a,對於每乙個元素都判斷是否大於索引後乙個元素,大於時,即是頂峰 使用二分查詢方式,每次對乙個計算得到的中間索引進行判斷 ...

LeetCode 852 山脈陣列的峰頂索引

我們把符合下列屬性的陣列a稱作山脈 給定乙個確定為山脈的陣列,返回任何滿足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 100000 a i 10 6 a 是如上...

leetcode852 山脈陣列的峰頂索引

我們把符合下列屬性的陣列 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 給定乙個確定為山脈的陣列,返回任何滿足 a 0 a 1 a i 1 a i a i 1 a a.length 1 的 i 的...