Ctrl K

Общее начало двух чисел

Средняя
Даны два списка положительных целых чисел: left и right. Начало числа — это число, составленное из одной или нескольких его первых цифр (слева). Например, у 3051 есть начала 3, 30, 305 и 3051, а 51 его началом не является. Возьмите одно число из left и одно из right и найдите их самое длинное общее начало. Верните наибольшую длину (в цифрах) такого общего начала по всем возможным парам. Если ни у одной пары общего начала нет, верните 0. Сравнивать числа внутри одного списка не нужно — пары составляются только из разных списков.
Пример 1
left=[47, 4801, 9], right=[480, 470] → 3

У 4801 и 480 общее начало 480 — три цифры. Это лучше, чем 47 и 470 (две цифры).

Пример 2
left=[12, 34], right=[56, 21] → 0

Ни одна пара не начинается с одной и той же цифры, ответ 0. Числа внутри одного списка между собой не сравниваются.

Пример 3
left=[7], right=[7] → 1
Ограничения
  • 1 ≤ len(left), len(right) ≤ 5·10⁴
  • 1 ≤ left[i], right[i] ≤ 10¹⁰
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазбиение на слова из словаря СредняяПодсветить найденное СредняяСократить слова до корней СредняяСамые частые запросы СредняяСлово, выращенное по букве Средняя
загружаем Python…
Вход
left=[47, 4801, 9], right=[480, 470]
Ожидается
3

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