Как правило, размещение нового используется, чтобы избавиться от стоимости распределения «нормального нового».
Другой сценарий, в котором я использовал его, - это место, где я хотел иметь доступ к указателю к объекту, который еще должен был быть сконструирован, для реализации одноэлементного документа.
Проблема в том, что вы изменяете свой входной список во время алгоритма: b.remove(minimum)
. Затем, когда вы используете numbers
во второй раз, он на самом деле пуст, как и nums
. Вы можете добавить следующее в верхнюю часть функции, чтобы создать копию ввода:
b = [x for x in b]