Il semble que des tests de codage soient menés à l'étranger lors d'entretiens d'ingénieurs, et dans de nombreux cas, l'essentiel est de mettre en œuvre des fonctions et des classes spécifiques en fonction du thème.
En guise de contre-mesure, il semble qu'un site appelé Let Code prendra des mesures.
Un site qui forme une puissance algorithmique capable de résister à des tests de codage dont on parle très tôt.
Je pense qu'il vaut mieux avoir la puissance de l'algorithme d'un être humain, donc je vais résoudre le problème de manière irrégulière et écrire la méthode que j'ai pensé à ce moment-là sous forme de mémo.
En gros, je voudrais résoudre l'acceptation facile par ordre décroissant.
Dernière fois Leet Code Day5 à partir de zéro "1266. Durée minimale de visite de tous les points"
1342. Number of Steps to Reduce a Number to Zero
Si le nombre naturel donné «num» est impair, soustrayez 1 et s'il est pair, divisez par 2. Le problème est de créer une fonction qui compte le nombre de fois qu'elle est répétée jusqu'à ce qu'elle atteigne 0 et renvoie ce nombre.
J'écrirai quelque chose qui me vient à l'esprit pour le moment.
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.
Après l'avoir écrit, j'ai regardé les discussions des autres, mais rien n'était si étrange. En raison de sa simplicité, ils peuvent tous avoir des réponses similaires.
~~ Pour être honnête, je n'écris pas beaucoup sur ce problème ... ~~
Recommended Posts