Реализовать алгоритм для объединения произвольного количества отсортированных списков в один отсортированный список. Цель состоит в том, чтобы создать самую маленькую рабочую программу на любом языке, который вам нравится.
Например:
input: ((1, 4, 7), (2, 5, 8), (3, 6, 9))
output: (1, 2, 3, 4, 5, 6, 7, 8, 9)
input: ((1, 10), (), (2, 5, 6, 7))
output: (1, 2, 5, 6, 7, 10)
Примечание: решения, которые объединяют входные списки, а затем используют предоставленную языком функцию сортировки, не соответствуют духу гольфа и не принимаются:
sorted(sum(lists,[])) # cheating: out of bounds!
Помимо всего прочего, ваш алгоритм должен быть (но не обязательно) намного быстрее!
Четко укажите язык, любые недостатки и количество символов. Включите только значащие символы в счетчике, но не стесняйтесь добавлять пробелы в код для художественных/удобочитаемых целей.
Чтобы все было в порядке, предлагайте улучшение комментариев или редактируя ответы там, где это необходимо, вместо того, чтобы создавать новый ответ для каждой "ревизии".
РЕДАКТИРОВАТЬ: если бы я снова задавал этот вопрос, я бы добавил, что правило "не предоставлено языком" не будет "конкатенировать все списки, а затем сортировать результат". Существующие записи, которые делают concatenate-then-sort, на самом деле очень интересны и компактны, поэтому я не буду активно внедрять правило, которое они нарушают, но не стесняйтесь работать с более ограничительной спецификацией в новых представлениях.
Вдохновленный Сочетание двух отсортированных списков в Python