Es scheint, dass Codierungstests in Ingenieurinterviews im Ausland durchgeführt werden, und in vielen Fällen besteht die Hauptsache darin, bestimmte Funktionen und Klassen entsprechend dem Thema zu implementieren.
Als Gegenmaßnahme scheint eine Website namens Let Code Maßnahmen zu ergreifen.
Eine Site, die algorithmische Leistung trainiert, die Codierungstests standhält, über die früh gesprochen wird.
Ich denke, es ist besser, die Algorithmuskraft eines Menschen zu haben, also werde ich das Problem unregelmäßig lösen und die Methode, die ich damals dachte, als Memo aufschreiben.
Grundsätzlich möchte ich die einfache Akzeptanz in absteigender Reihenfolge lösen.
Letztes Mal Leet Code Day5 ab Null "1266. Mindestdauer für den Besuch aller Punkte"
1342. Number of Steps to Reduce a Number to Zero
Wenn die gegebene natürliche Zahl "num" ungerade ist, subtrahieren Sie 1 und dividieren Sie durch 2, wenn sie gerade ist. Das Problem besteht darin, eine Funktion zu erstellen, die zählt, wie oft sie wiederholt wird, bis sie 0 erreicht und diese Zahl zurückgibt.
Ich werde etwas schreiben, das mir vorerst in den Sinn kommt.
class Solution:
def numberOfSteps (self, num: int) -> int:
steps = 0
while num > 0:
if num % 2 == 0:
num //= 2
else:
num -=1
steps += 1
return steps
# Runtime: 28 ms, faster than 68.90% of Python3 online submissions for Number of Steps to Reduce a Number to Zero.
# Memory Usage: 13.8 MB, less than 100.00% of Python3 online submissions for Number of Steps to Reduce a Number to Zero.
Nachdem ich es geschrieben hatte, schaute ich mir die Diskussionen anderer Leute an, aber nichts war so seltsam. Aufgrund ihrer Einfachheit können sie alle ähnliche Antworten haben.
~~ Um ehrlich zu sein, schreibe ich nicht viel über dieses Thema ... ~~
Recommended Posts