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)