Ctrl K

Расхождения в кодах

Средняя
Дан массив codes из положительных чисел, у всех одинаковое количество цифр. **Расхождение** двух кодов — это число позиций, на которых у них стоят разные цифры. Верните сумму расхождений по всем парам кодов (каждая неупорядоченная пара индексов считается один раз). Перебор пар — O(n²); здесь нужно быстрее.
Пример 1
codes=[407, 417, 908] → 6

407 и 417 различаются в одном разряде, 407 и 908 — в двух, 417 и 908 — в трёх. Итого 1 + 2 + 3 = 6.

Пример 2
codes=[55, 55, 55] → 0

Все коды одинаковы, расхождений нет.

Пример 3
codes=[3, 8] → 1
Ограничения
  • 2 ≤ len(codes) ≤ 10⁵
  • 1 ≤ codes[i] < 10⁹
  • Все числа в codes имеют одинаковое количество цифр
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПары, уравновешенные зеркалом СредняяРамки одной формы СредняяПары, выбившиеся из темпа СредняяЧисла и их отражения СредняяПростые числа на лучах сетки Средняя
загружаем Python…
Вход
codes=[407, 417, 908]
Ожидается
6

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