Array 75. Дан массив размера N. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами, включая минимальный и максимальный элементы.

Решение на Python 3

import random

N = random.randrange(2,15)
a = random.sample(range(0, 100), N)
#a = [random.randrange(1,11) for i in range(N)]
#a = [i+1 for i in range(N)]

print("N:",N)
print("Array a:\n",a)

max_val = max(a)
max_idx = a.index(max_val)

min_val = min(a)
min_idx = a.index(min_val)

print("Max:",max_val,"; Index:",max_idx)
print("Min:",min_val,"; Index:",min_idx)

if min_idx < max_idx :
start_idx = min_idx
end_idx = max_idx
else :
start_idx = max_idx
end_idx = min_idx

L = end_idx + 1
K = start_idx + 1

##print("L:",L)
##print("K:",K)

M = (L-K+1)//2
##print("M:",M)
i = 0
while i < M :
## print(i,K-1+i,L-1-i)
a[K-1+i], a[L-1-i] = a[L-1-i], a[K-1+i]
i += 1

print("Modified Array a:\n",a)