Минимальное количество свопов, которые должны быть сделаны в массиве таким образом, чтобы ни один из двух соседних элементов не был одинаковым.
Минимальное количество свопов, которые должны быть сделаны в массиве таким образом, чтобы ни один из двух соседних элементов не был одинаковым.
n = 6 а[] = {1, 1, 5, 2, 5, 5} Ответ = 1 ( Замените a[0] на a[4] или a[5] )
n = 8 а[] = {1, 5, 5, 1, 4, 6, 1, 1} Ответ = 2 (Замените a[0] на a[1] и a[5] на a[6] )
n = 8 а[] = {3, 1, 1, 5, 3, 3, 5, 5} Ответ = 2 (Замените a[0] на a[1] и a[5] на a[6] )
индексация с нуля в приведенных выше примерах.
Обратитесь за вопросом: Минимальное количество свопов, которые должны быть сделаны в массиве таким образом, чтобы ни один из двух соседних элементов не был одинаковым. - Codeforces[^]
Что я уже пробовал:
Логика 1: Подсчитайте общее число последовательных пар и вычтите его из числа оставшихся элементов. Но это, кажется, работает не во всех случаях.