heights. За один шаг можно поменять местами двух **соседних** учеников.
Фотограф хочет, чтобы самый низкий ученик стоял первым слева, а самый высокий — последним справа. Если самых низких или самых высоких несколько, на краю достаточно оказаться любому из них. Порядок остальных учеников не важен.
Верните наименьшее число обменов, которое для этого нужно.heights=[4, 7, 2, 7, 5] → 3
Двойку двигаем в начало за 2 обмена: [2, 4, 7, 7, 5]. Последнюю семёрку — в конец за 1 обмен: [2, 4, 7, 5, 7]. Итого 3.
heights=[3, 1] → 1
Один обмен соседей даёт [1, 3]: минимум слева, максимум справа.
heights=[5, 5, 5] → 0
Все значения равны, так что любое из них — и наименьшее, и наибольшее. Обмены не нужны.
heights.length ≤ 10⁵heights[i] ≤ 10⁵heights=[4, 7, 2, 7, 5]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 108 тестов на сервере, включая скрытые.