added local maxima function #5
3 changed files with 56 additions and 4 deletions
|
@ -1,6 +1,11 @@
|
|||
from first import times_3
|
||||
|
||||
def test_times_3_integer():
|
||||
pass
|
||||
result = times_3([1])
|
||||
assert result == [1, 1, 1]
|
||||
|
||||
|
||||
def test_times_3_string():
|
||||
pass
|
||||
result = times_3([1])
|
||||
assert result == [2]
|
||||
|
||||
|
|
|
@ -4,12 +4,18 @@ def find_maxima(x):
|
|||
Input arguments:
|
||||
x -- 1D list of real numbers
|
||||
|
||||
|
||||
Output:
|
||||
idx -- list of indices of the local maxima in x
|
||||
"""
|
||||
return []
|
||||
maxima = []
|
||||
for index in range(len(x)-2):
|
||||
if x[index+1] > x[index] and x[index +1] > x[index+2]:
|
||||
maxima.append(index+1)
|
||||
|
||||
return maxima
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
x = [1, 2, 3]
|
||||
x = [1, 2, 2, 1]
|
||||
print(find_maxima(x))
|
||||
|
|
41
hands_on/local_maxima/test_local_maxima.py
Normal file
41
hands_on/local_maxima/test_local_maxima.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
from local_maxima import find_maxima
|
||||
|
||||
|
||||
|
||||
def test_local_maxima_empty():
|
||||
value = []
|
||||
expected = []
|
||||
|
||||
result = find_maxima(value)
|
||||
|
||||
assert result == expected
|
||||
|
||||
|
||||
def test_local_maxima_plateau():
|
||||
value = [1, 2, 2, 1]
|
||||
expected = []
|
||||
|
||||
result = find_maxima(value)
|
||||
|
||||
assert result == expected
|
||||
|
||||
def test_local_maxima_array1():
|
||||
value = [1, 3, 5, 2, 1]
|
||||
expected = [2]
|
||||
|
||||
result = find_maxima(value)
|
||||
|
||||
assert result == expected
|
||||
|
||||
|
||||
def test_local_maxima_array2():
|
||||
value = [5, 4, 4, 5]
|
||||
expected = []
|
||||
|
||||
result = find_maxima(value)
|
||||
|
||||
assert result == expected
|
||||
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue