diff --git a/hands_on/local_maxima/local_maxima.py b/hands_on/local_maxima/local_maxima.py index db89ba3..5ff1802 100644 --- a/hands_on/local_maxima/local_maxima.py +++ b/hands_on/local_maxima/local_maxima.py @@ -7,4 +7,14 @@ def find_maxima(x): Output: idx -- list of indices of the local maxima in x """ - return [] + + local_maxima = [] + + for index, value in enumerate(x): + if index <= len(x)-2: + if x[index] > x[index+1] and x[index] > x[index-1]: + local_maxima.append(index) + + if len(local_maxima) > 0: + return local_maxima + diff --git a/hands_on/local_maxima/test_local_maxima.py b/hands_on/local_maxima/test_local_maxima.py new file mode 100644 index 0000000..a3b4a34 --- /dev/null +++ b/hands_on/local_maxima/test_local_maxima.py @@ -0,0 +1,10 @@ +from local_maxima import find_maxima +import pytest + +def test_find_maxima(): + input_list = [0, 6, -2, 5, 1] + expected = [1, 3] + + result = find_maxima(input_list) + + assert result == expected