Ctrl K

Пары, уравновешенные зеркалом

Средняя
Зеркалом неотрицательного числа назовём число, записанное теми же цифрами в обратном порядке; ведущие нули при этом отбрасываются. Например, зеркало 507 — это 705, а зеркало 340 — это 43. Дан массив неотрицательных целых чисел values. Пара индексов (i, j) с i < j сбалансирована, если values[i] плюс зеркало values[j] равно values[j] плюс зеркало values[i]. Верните количество сбалансированных пар. Ответ может быть очень большим, поэтому верните его по модулю 10⁹ + 7.
Пример 1
values=[12, 23, 9, 34] → 3

Сбалансированы пары (0, 1): 12 + 32 = 23 + 21 = 44, (0, 3): 12 + 43 = 34 + 21 = 55 и (1, 3): 23 + 43 = 34 + 32 = 66. С числом 9 пар нет, ответ 3.

Пример 2
values=[31, 20, 53, 2] → 3

Пара (0, 2): 31 + 35 = 66 и 53 + 13 = 66 — сбалансирована. Остальные пары не подходят, ответ 1.

Пример 3
values=[5, 707, 0] → 3

Все три числа совпадают со своими зеркалами, поэтому сбалансирована любая из трёх пар.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 0 ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРамки одной формы СредняяПары, выбившиеся из темпа СредняяЧисла и их отражения СредняяПростые числа на лучах сетки СредняяУголки из единиц Средняя
загружаем Python…
Вход
values=[12, 23, 9, 34]
Ожидается
3

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