Найдите недостающее число в перестановке

Чтобы найти недостающее число в перестановке, можно попробовать несколько методов. Вот несколько часто используемых подходов:

  1. Метод 1: суммирование и различие

    • Рассчитайте ожидаемую сумму перестановки по формуле n*(n+1)/2, где n — длина перестановки.
    • Найдите сумму всех чисел в данной перестановке.
    • Недостающее число будет разницей между ожидаемой суммой и фактической суммой перестановки.
  2. Метод 2: операция XOR

    • Выполните операцию XOR всех чисел от 1 до n (где n — длина перестановки).
    • Выполните XOR всех чисел в данной перестановке.
    • Недостающее число будет результатом XOR двух операций XOR.
  3. Метод 3. Сортировка и сравнение

    • Отсортируйте данную перестановку в порядке возрастания.
    • Пройтись по отсортированной перестановке и сравнить каждый элемент с его индексом плюс один (поскольку перестановка начинается с 1).
    • Первый элемент, индекс которого не соответствует его индексу плюс один, – это пропущенное число.
  4. Метод 4: хеширование

    • Создайте пустую хеш-таблицу.
    • Пройти по заданной перестановке и вставить каждое число в хеш-таблицу.
    • Выполните итерацию от 1 до n и проверьте, существует ли каждое число в хеш-таблице.
    • Недостающим номером будет тот номер, которого нет в хеш-таблице.