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 d'implémenter 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 aux 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.
Table de code Leet commençant à zéro
Dernière fois Leet Code Day48 à partir de zéro "26. Remove Duplicates from Sorted Array"
À l'heure actuelle, je donne la priorité au moyen des 100 questions les plus appréciées. Easy a été résolu, donc si vous êtes intéressé, veuillez vous rendre à la table.
Twitter Je le fais.
Le niveau de difficulté est facile. Il y a plus de Marchandises, et j'ai pensé que c'était un problème intéressant, je vais donc le présenter.
Étant donné un entier positif, «num», composé de seulement 6 et 9.
Vous pouvez changer le nombre de 6 à 9 ou 9 à 6 par un seul chiffre, le problème est donc de concevoir un algorithme qui renvoie num
comme valeur maximale pouvant être modifiée.
Input: num = 9669 Output: 9969 Explanation: Changing the first digit results in 6669. Changing the second digit results in 9969. Changing the third digit results in 9699. Changing the fourth digit results in 9666. The maximum number is 9969.
Input: num = 9996 Output: 9999 Explanation: Changing the last digit 6 to 9 results in the maximum number.
Input: num = 9999 Output: 9999 Explanation: It is better not to apply any change.
Vous pouvez voir que si vous changez le nombre de chiffres de 6 à 9, vous obtiendrez un nombre plus grand.
J'ai donc pensé à utiliser la fonction de remplacement.
Dans la fonction de remplacement, l'argument est (cible à remplacer, élément à remplacer, nombre de fois entre les valeurs maximales), donc si vous vérifiez l'élément de la chaîne de caractères par l'avant et retournez celui remplacé une seule fois, cela fonctionnera réellement. J'ai pensé et écrit ce qui suit.
class Solution:
def maximum69Number (self, num: int) -> int:
return int(str(num).replace('6','9',1))
# Runtime: 28 ms, faster than 73.29% of Python3 online submissions for Maximum 69 Number.
# Memory Usage: 13.8 MB, less than 58.88% of Python3 online submissions for Maximum 69 Number.
C'est plutôt bon. De plus, étant donné que la fonction de remplacement ne reçoit qu'une chaîne de caractères, elle doit être convertie une fois en chaîne de caractères, puis appliquée à la fonction de remplacement, puis définie sur int lors du retour.
Merci pour votre travail acharné cette fois.
Recommended Posts