fix the code to pass the first three tests

This commit is contained in:
ASPP Student 2025-09-23 16:41:31 +03:00
parent 49a768595c
commit 17d41ce1e0

View file

@ -7,4 +7,25 @@ def find_maxima(x):
Output: Output:
idx -- list of indices of the local maxima in x idx -- list of indices of the local maxima in x
""" """
return [] idx = []
# catch the case when input is an empty list
if x == []:
return idx
# catch the case where a maximum is at the edge
if len(x) > 1:
if x[0] > x[1]:
idx.append(0)
if x[-1] > x[-2]:
idx.append(len(x)-1)
# if we only have two values, we are done
if len(x) == 2:
return idx
# other wise for everything not on the edge:
for i in range(1, len(x)-1):
if (x[i] > x[i-1]) & (x[i] > x[i+1]):
idx.append(i)
return sorted(idx)