python wirte a function max_indexes(xs) that inserts a list xs with numbers and returns a list of indexpositions where the list has local maximum values. A local maximum value is a number in the list that has a smaller number before and after. for example in this list has a local maximum at position 2 and 7: [3, 4, 5, 2, 1, 0, 4, 6, 4, 2, 1] Here the function should return [2, 7]
python
wirte a function max_indexes(xs) that inserts a list xs with numbers and returns a list of indexpositions where the list has local maximum values. A local maximum value is a number in the list that has a smaller number before and after. for example in this list has a local maximum at position 2 and 7:
[3, 4, 5, 2, 1, 0, 4, 6, 4, 2, 1]
Here the function should return [2, 7]
PROGRAM:
#Defining max_indexes()
def max_indexes(xs):
#Defining list to store the maximum values
mx = []
n=len(xs)
#Checking local maxima for first element
if(xs[0] > xs[1]):
mx.append(0)
#Looping
for i in range(1, n-1):
#Checking local maximum condition
if(xs[i-1] < xs[i] > xs[i + 1]):
#Adding to list
mx.append(i)
#Checking local maxima for last element
if(xs[-1] > xs[-2]):
#Adding to list
mx.append(n-1)
#Printing local maximum value
if(len(mx) > 0):
print("Local Maximum values:",*mx)
else:
print("Not local maxima is found")
#main()
if __name__ == '__main__':
# Defining list
xs = [3, 4, 5, 2, 1, 0, 4, 6, 4, 2, 1]
# Function Call
max_indexes(xs)
Step by step
Solved in 3 steps with 3 images