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.
Apparemment, de nombreux ingénieurs prennent des mesures sur le site appelé LetCode.
C'est un site qui forme la puissance de l'algorithme qui peut résister au test de codage effectué au début, et c'est un chemin inévitable pour ceux qui veulent faire carrière dans une entreprise de technologie à l'étranger.
Je l'ai écrit en grand, mais je n'ai pas l'intention d'avoir une telle interview pour le moment.
Cependant, en tant qu'ingénieur informatique, il serait préférable d'avoir le même niveau de puissance d'algorithme qu'une personne, alors j'aimerais résoudre le problème de manière irrégulière et écrire la méthode que je pensais à ce moment-là sous forme de mémo.
Je le résolve avec Python3.
Table de codes Leet commençant à zéro
Dernière fois Leet Code Day 76 à partir de zéro "3. La plus longue sous-chaîne sans caractères répétitifs" A
À 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.
** Blog technique Commencé! !! ** ** Je pense que la technologie écrira sur LetCode, Django, Nuxt, etc. ** C'est plus rapide à mettre à jour **, merci pour votre coopération!
1502. Can Make Arithmetic Progression From Sequence Le niveau de difficulté est facile.
C'est un nouveau problème qui a été récemment ajouté. Ce n'est pas un problème facile, alors essayez de le résoudre.
Le problème est que, étant donné un tableau de nombres ʻarr`, si la différence entre deux éléments consécutifs est la même, la séquence de nombres est appelée progression arithmétique.
Renvoie «true» si le tableau peut être réorganisé pour former une progression arithmétique, sinon renvoie «false».
Example 1:
Input: arr = [3,5,1] Output: true Explanation: We can reorder the elements as [1,3,5] or [5,3,1] with differences 2 and -2 respectively, between each consecutive elements.
Example 2:
Input: arr = [1,2,4] Output: false Explanation: There is no way to reorder the elements to obtain an arithmetic progression.
class Solution:
def canMakeArithmeticProgression(self, arr: List[int]) -> bool:
arr.sort()
length = len(arr)
if length==2:
return True
difference = arr[1] - arr[0]
for i in range(1, length):
if arr[i] - arr[i - 1] != difference:
return False
return True
# Runtime: 32 ms, faster than 100.00% of Python3 online submissions for Can Make Arithmetic Progression From Sequence.
# Memory Usage: 13.9 MB, less than 100.00% of Python3 online submissions for Can Make Arithmetic Progression From Sequence.
Comme c'est une question nouvelle et facile, j'ai pu répondre à la fois à 100%.
Triez d'abord le tableau. Exclure uniquement lorsque la longueur du tableau est de 2, sinon «difference» qui prend la différence de valeur et «False» lorsque le contenu de chaque instruction for est différent, sinon Renvoie «True».
Jusqu'à ici pour cette fois. Je vous remercie pour votre travail acharné.
Recommended Posts