Программа курса:
Задача 9: Пары, держащиеся за руки
Напишите определение функции minSwapsCouples(row) -> int, которая принимает массив целых чисел row.
Массив row представляет людей, сидящих в 2n сиденьях, упорядоченных в ряд, где row[i] — это ID человека, сидящего на i-м месте. Каждая пара людей образует пару: первая пара — (0, 1), вторая пара — (2, 3) и так далее, последняя пара — (2n - 2, 2n - 1).
Вам нужно определить минимальное количество перестановок, чтобы каждая пара сидела рядом друг с другом. Перестановка заключается в выборе двух людей, после чего они встают и меняются местами.
Примеры
Пример 1:
Ввод: row = [0,2,1,3]
Вывод: 1
Объяснение: Нам нужно только поменять местами второго (row[1]) и третьего (row[2]) человека.
Пример 2:
Ввод: row = [3,2,0,1]
Вывод: 0
Объяснение: Все пары уже сидят рядом, поэтому перестановки не нужны.