尋找區域性最高點 1D

2021-09-04 05:06:41 字數 1108 閱讀 5479

如題,在1維陣列中,如果乙個數大於或等於左右兩邊相鄰的數,則稱區域性最高點-1d。其中邊界外值為 ∞

\infty

∞ ,即最左邊和最右邊只需大於臨近的乙個元素。

一種方法是從第乙個元素逐個開始遍歷。演算法複雜度為 t=o

(n

)t=o(n)

t=o(n)

。另一種演算法使用二分法。對於乙個點,有以下情況:

**如下:

"""

@author: lishihang

@software: pycharm

@file: 1.尋找區域性高點-1d.py

@time: 2018/12/3 18:01

"""def

find_local_highest_location2

(a):

iflen

(a)==1:

return0if

len(a)==2

:return

int(a[0]

< a[1]

) middle =

len(a)//2

if a[middle -1]

<= a[middle]

>= a[middle +1]

:return middle

elif a[middle -1]

> a[middle]

:return find_local_highest_location2(a[

:middle]

)else

:return middle +

1+ find_local_highest_location2(a[middle +1:

])if __name__ ==

'__main__'

:# a = [1, 5, 2, 3, 4, 0]

import numpy as np

a=np.random.randint(0,

100,10)

.tolist(

) i = find_local_highest_location2(a)

print

(a)print

(i)

Python 尋找區域性最高點

尋找區域性最高點 輸入input 含有最高點高度的列表 輸出output 返回最高點的位置 時間複雜度 o log n deffindhighspot input ilen len input mid ilen 2 1 python中 為小數除法,為地板除 ifinput mid 1 input m...

Python 尋找區域性最高點的實現

我就廢話不多說了,直接上 吧!尋找區域性最高點 輸入input 含有最高點高度的列表 輸出output 返回最高點的位置 時間複雜fsfktzora度 o log n findhighspot input ilen len input mid ilen 2 1 python中 為小數除法,為地板除 ...

尋找區域性最小

定義區域性最小的概念。arr長度為1時,arr 0 是區域性最小。arr的長度為n n 1 時,如果arr 0 區域性最小的概念和極小值是一樣的,先判斷邊界,如果arr 0 的值比arr 1 小,arr n 1 的值比arr n 2 小,則arr 0 和arr n 1 也是區域性最小。如果上面兩種都...