Ctrl K

Номера, выданные дважды

Средняя
Гардероб выдаёт номерки от 1 до n, где n — длина массива tickets. Из-за сбоя некоторые номерки выдали дважды (а какие-то не выдали вовсе). В tickets записаны все выданные номерки; каждый встречается не больше двух раз. Верните все номерки, которые встречаются ровно дважды, в любом порядке. Попробуйте уложиться в O(n) времени и O(1) дополнительной памяти, не считая ответа (менять сам массив можно).
Пример 1
tickets=[3, 1, 3, 4, 1, 6] → [3, 1]

Номера 3 и 1 встречаются по два раза, остальные по одному.

Пример 2
tickets=[2, 2] → [2]

Номер 2 выдан дважды, номер 1 не выдан вовсе.

Пример 3
tickets=[2, 3, 1] → []

Все номера разные, повторов нет.

Ограничения
  • 1 ≤ n = len(tickets) ≤ 10⁵
  • 1 ≤ tickets[i] ≤ n
  • каждое число встречается один или два раза
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСудоку без конфликтов СредняяРазложить анаграммы по группам СредняяНулевые кресты СредняяДерево по прямому и симметричному обходам СредняяДерево по симметричному и обратному обходам Средняя
загружаем Python…
Вход
tickets=[3, 1, 3, 4, 1, 6]
Ожидается
[3, 1]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 54 теста на сервере, включая скрытые.