Я пытаюсь реализовать алгоритм пика 1D в python, хотя у меня возникают проблемы с его реализацией. Идея состоит в том, что он сравнивает центральный член массива и выбирает сторону с более высоким соседним членом. Эта половина становится новым массивом. Только когда центральным является самый большой термин, он становится вершиной. Вот мой код: import math
import math
array = [1,2,3,4,5,6,7]
size = len(array)
count = 0
while count == 0:
if len(array) == 2:
count += 1
print(max(array[0],array[1]))
break
elif count == 0:
elif array[math.floor(abs(size/2))] < array[math.floor(abs(size/2))-1]:
new_array = []
for i in range(int(abs(size)/2)):
new_array.append(array[i])
array = new_array
elif array[math.floor(abs(size/2))] < array[math.floor(abs(size/2))+1]:
new_array = []
for j in range(math.floor(abs(size)/2),size):
new_array.append(array[j])
array = new_array
elif count == 0:
count += 1
print(array[math.floor(abs(size/2))])
break
Я продолжаю получать ошибки, и я не могу определить проблему. Кто-нибудь может помочь?