решил сегодняшнюю задачу читерским путем(просто вытащил цифры), и по времени выполнения получилось очень хорошо. надо бы решить правильным еще на всякий случай ))
По сути сделал массивы, и Смержил их, т.к. по времени тоже самое, но по памяти O(N*K)
Порридж В Ко-ливинге
Тут уже память O(K)
def mergeKLists(self, lists: List[ListNode]) -> ListNode:
ListNode.__lt__ = lambda self, other: self.val < other.val
head = cur = ListNode()
vals = [l for l in lists if l]
heapify(vals)
while vals:
cur.next = cur = heappop(vals)
if cur.next: heappush(vals, cur.next)
return head.next
Ну я сам хип писал, даже до сих пор на Гитхабе лежит.
А вообще я еще говорил на собеседовании Бережному, что на JS не привычно, я на Питоне Литкожу, а он сказал “Ну, в JS много чего добавили, поэтому давай на JS лидкодь” 🤣🤣🤣
Ну я спорить не стал, но пишу все равно на Питоне
Порридж В Ко-ливинге
Как говорил Бобук, “Питон головного мозга”
Lynn «Кофеман»
Я потыкал в другие решения. Там что-то преобладают варианты «смержим два списка и повторим k-1 раз»