Ctrl K

K-й палиндром заданной длины

Средняя
Палиндром — натуральное число, которое одинаково читается слева направо и справа налево. Ведущих нулей у него быть не может. Дана длина length и список запросов ranks. Для каждого ranks[i] найдите ranks[i]-й по возрастанию палиндром ровно из length цифр. Если палиндромов такой длины меньше, ответ на запрос — -1. Верните ответы в порядке запросов.
Пример 1
ranks=[1, 2, 10, 11], length=2 → [11, 22, -1, -1]

Двузначные палиндромы — 11, 22, …, 99, всего их девять. Первый — 11, второй — 22, десятого и одиннадцатого нет.

Пример 2
ranks=[1, 3, 12], length=5 → [10001, 10201, 11111]

Пятизначные палиндромы по возрастанию: 10001, 10101, 10201, … Двенадцатый — 11111.

Пример 3
ranks=[5], length=1 → [5]
Ограничения
  • 1 ≤ len(ranks) ≤ 5·10⁴
  • 1 ≤ ranks[i] ≤ 10⁹
  • 1 ≤ length ≤ 15
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПовернуть квадрат по часовой СредняяПостфиксный калькулятор СредняяПрокрутка массива вправо СредняяПростые числа до границы СредняяN-е число из заданных простых Средняя
загружаем Python…
Вход
ranks=[1, 2, 10, 11], length=2
Ожидается
[11, 22, -1, -1]

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