Войти Регистрация
Алгоритмы

138. Самый большой код из блоков

Средняя

В игровом событии VK Play участник собирает код из выигранных блоков blocks — неотрицательных чисел. Блоки ставятся подряд в любом порядке, каждый ровно один раз, цифры внутри блока не переставляются.

Верните наибольший код, который можно собрать, строкой. Если код состоит только из нулей, верните "0". Без блоков — пустая строка.

В работе: Приз получает самый большой код в чате события — проверка на сервере собирает лучший код сама и сравнивает.

Пример 1

Ввод
blocks = [9, 34, 3, 30, 5]
Вывод
"9534330"

9, 5, 34, 3, 30: 3 раньше 30, потому что 330 > 303.

Пример 2

Ввод
blocks = [0, 0, 0]
Вывод
"0"

Не «000», а «0».

Ограничения

  • 0 ≤ n ≤ 10⁵
  • 0 ≤ blocks[i] ≤ 10⁹
  • Лимит — 2 с на тест (2000 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def biggest_code(blocks):
Сортировка с компараторомСтрокиЖадный выборцельO(n log n)

Источник: наша задача на данных VK. Условие пересказано своими словами.