hi manuel.py
Prinzipiell ist dies noch einfacher als dein Code oben. Folgendes musst du machen:
(Hab nicht probiert obs funktioniert, sollte aber gehen)
- Loop bis zu löschende Zahl kommt
- Wenn getroffen weiter loopen und zahlen nachrücken.
if list[i] not 0 : list[i] = list[i+1] else: break
- Liste zurückgeben
Somit solltest du in O(n) löschen können.
Anmerkung zu oben.
- Schau dass du dein Code zumindest mit Doc-Strings dokumentierst. So können wir direkt sehen was der Code machen soll ohne ihn ganz lesen zu müssen. Zudem weist auch du in einem halben Jahr was du eigentlich machen wolltest.
- Ich würde schauen, ob du von den 3 Schleifen oben einige zusammen nehmen kannst. Ob und wieviel du dann schneller wirst kannst du mit %timeit herausfinden.
Student, Punkte: 30