33 力扣題解 山脈陣列的峰頂索引

2021-09-25 04:51:10 字數 783 閱讀 1809

山脈陣列的峰頂索引

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

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

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

def mountion_list(l):

if len(l)>=3 and sorted(l) !=l and sorted(l,reverse=true) !=l:

for i in range(len(l)):

if sorted(l[:i+1])==l[:i+1] and sorted(l[i+1:],reverse=true)==l[i+1:]:

return i+1

return false

return false

l=[0,2,1]

print(mountion_list(l)) #返回1

s=[1,2,3,2,1]

print(mountion_list(s)) #返回2

l=[1,2,3]

print(mountion_list(l)) #返回false

852 山脈陣列的峰頂索引

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

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