170 похожих чатов

Добрый день! Есть такой односвязный список class ListNode: def

__init__(self, val=0, next=None):
self.val = val
self.next = next

Я сделал такое
class Solution:
def mergeKLists(self, lists: List[Optional[ListNode]]) -> Optional[ListNode]:
self.nodes = []

for item in lists:
while item:
self.nodes.append(item.val)
item = item.next
point = ListNode(0)
head = ListNode(0)
head.next = point

for el in sorted(self.nodes):
point.next = ListNode(el)
point = point.next

return head.next.next


В ответах - такое
class Solution(object):
def mergeKLists(self, lists):
self.nodes = []
head = point = ListNode(0)
for l in lists:
while l:
self.nodes.append(l.val)
l = l.next
for x in sorted(self.nodes):
point.next = ListNode(x)
point = point.next
return head.next

Можете объяснить строчку head = point = ListNode(0) ?

15 ответов

24 просмотра

> Можете объяснить строчку head = point = ListNode(0) ? тоже самое что и: head = ListNode(0) point = ListNode(0)

Первый узел односвязного списка

for item in lists: while item: self.nodes.append(item.val) у вас код вряд ли работает как нужно, bool(item) это True, получается while True тут

И если это задачи с литкод, типа вставить или удалить значения, то нельзя использовать встроенные функции (например append)

Даниил-Агниашвили Автор вопроса
Arsen Eremyan
И если это задачи с литкод, типа вставить или удал...

Последний блок кода - это ответ самого литкод

yakimka
> Можете объяснить строчку head = point = ListNode...

Не то же самое. В первом случае гарантировано к именам привяжется один и тот же объект. Во втором такой гарантии нет.

Bogdan (Bogdan)
Не то же самое. В первом случае гарантировано к им...

я коментировал конкретный кусок кода, а не какой-то абстрактный

yakimka
я коментировал конкретный кусок кода, а не какой-т...

В том конкретном куске кода это не то же самое.

Даниил-Агниашвили Автор вопроса
Bogdan (Bogdan)
Не то же самое. В первом случае гарантировано к им...

А, то есть в head = point = ListNode(0) -каждая переменная ссылается на один ListNode(0) однако, почему тогда становится head.next - это point

Alex
не "гарантии нет", а именно что разные

Да нет. Есть синглтоны, есть интернированные объекты и проч.

Bogdan (Bogdan)
Да нет. Есть синглтоны, есть интернированные объек...

из описания класса очевидно, что это не тот случай.

Даниил-Агниашвили Автор вопроса
Bogdan (Bogdan)
Я не понял ваш вопрос

я разобрался, спасибо)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта