leetcode852 山脈陣列的峰頂索引

2021-09-13 23:44:03 字數 980 閱讀 8024

我們把符合下列屬性的陣列 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 的值。

找最大值的索引:

class

solution

:def

peakindexinmountainarray

(self, a: list[

int])-

>

int:

return a.index(

max(a)

)

二分:
class

solution

:def

peakindexinmountainarray

(self, a: list[

int])-

>

int:

iflen

(a)<=2:

return a.index(

max(a)

) mid =

len(a)//2

if a[mid]

> a[mid-1]

and a[mid]

> a[mid+1]

:return mid

if a[mid]

< a[mid-1]

:return self.peakindexinmountainarray(a[

:mid]

)else

:return self.peakindexinmountainarray(a[mid+1:

])+1

+mid

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 是如上...

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 輸出 13 a.length 10000 0 a i 10 6 a 是如上...

852 山脈陣列的峰頂索引

題目分析可知肯定是有山峰的,所以其實就是找到最大值的索引就可以了 一 順序查詢 class solution def peakindexinmountainarray self,a list int int i 0 while a i a i 1 i 1 return i 二 二分查詢 class ...