Ctrl K

Наибольшее число из двух рядов

Сложная
Даны два ряда цифр — массивы left и right — и число size. Нужно выбрать ровно size цифр из обоих рядов (из каждого — сколько угодно, в том числе ни одной) и выложить их в одну строку. Цифры, взятые из одного ряда, должны идти в том же порядке, что и в этом ряду; цифры из разных рядов можно чередовать как угодно. Верните выложенную последовательность, которая как size-значное число наибольшая, в виде массива цифр.
Пример 1
left=[2, 7, 1], right=[5, 8, 3, 6], size=4 → [8, 7, 6, 1]

Из left берём 7 и 1, из right — 8 и 6 и чередуем их, не нарушая порядка внутри рядов: [8, 7, 6, 1]. Большего четырёхзначного числа не собрать.

Пример 2
left=[4, 0], right=[4, 9], size=4 → [4, 9, 4, 0]

Нужны все цифры. Сначала берём 4 из right, чтобы открыть его девятку, затем 9, 4, 0: ответ [4, 9, 4, 0].

Пример 3
left=[1, 5], right=[3], size=1 → [5]
Ограничения
  • 1 ≤ len(left), len(right) ≤ 500
  • 0 ≤ left[i], right[i] ≤ 9
  • 1 ≤ size ≤ len(left) + len(right)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПерестроить середину шеренги СредняяВода между стенами СложнаяПартии для сортировки с повторами СложнаяПодъём отрезками СложнаяШирокий отрезок забора вокруг метки Сложная
загружаем Python…
Вход
left=[2, 7, 1], right=[5, 8, 3, 6], size=4
Ожидается
[8, 7, 6, 1]

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