From 5270dc288fcaed59f1e5c2e2a41d4585a4b065b0 Mon Sep 17 00:00:00 2001 From: ASPP Student Date: Tue, 23 Sep 2025 16:31:29 +0300 Subject: [PATCH] Add simple local maxima function --- hands_on/local_maxima_part2/local_maxima.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/hands_on/local_maxima_part2/local_maxima.py b/hands_on/local_maxima_part2/local_maxima.py index db89ba3..30f57cf 100644 --- a/hands_on/local_maxima_part2/local_maxima.py +++ b/hands_on/local_maxima_part2/local_maxima.py @@ -1,4 +1,4 @@ -def find_maxima(x): +def find_maxima(input_list): """Find local maxima of x. Input arguments: @@ -7,4 +7,16 @@ def find_maxima(x): Output: idx -- list of indices of the local maxima in x """ - return [] + local_maxima = [] + for i, val in enumerate(input_list): + if i == 0 or i == len(input_list)-1: + continue + if input_list[i-1] < val and input_list[i+1] < val: + local_maxima.append(i) + if len(input_list) > 0: + if input_list[0] > input_list[1]: + local_maxima.append(0) + if input_list[-1] > input_list[-2]: + local_maxima.append(len(input_list)-1) + return sorted(local_maxima) +