如題,在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 也是區域性最小。如果上面兩種都...