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 Jour 55 "À partir de zéro" 22. Generate Parentheses "
À 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. Le problème est donné le tableau «nums». Le problème est que vous devez renvoyer la somme de tous les nombres dans une liste.
Input: nums = [1,2,3,4] Output: [1,3,6,10] Explanation: Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4]. Example 2:
Input: nums = [1,1,1,1,1] Output: [1,2,3,4,5] Explanation: Running sum is obtained as follows: [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1]. Example 3:
Input: nums = [3,1,2,10,1] Output: [3,4,6,16,17]
Constraints:
1 <= nums.length <= 1000 -10^6 <= nums[i] <= 10^6
C'est un soi-disant problème de somme cumulative. Ce problème lui-même est facile à comprendre, donc je pense qu'il est important de savoir comment le mettre en œuvre.
Concernant l'implémentation, je pense que la manière d'écrire changera selon que vous êtes familier avec les fonctions Python.
Par exemple, si vous connaissez itertools.accumulate, vous pouvez écrire:
class Solution:
def runningSum(self, nums: List[int]) -> List[int]:
return itertools.accumulate(nums)
# Runtime: 60 ms, faster than 33.33% of Python3 online submissions for Running Sum of 1d Array.
# Memory Usage: 14.1 MB, less than 33.33% of Python3 online submissions for Running Sum of 1d Array.
Vous pouvez l'utiliser si vous le connaissez car vous pouvez l'écrire de manière très concise, ou si vous êtes dans un environnement où vous pouvez consulter librement des documents.
Cependant, vous devez également garder à l'esprit comment écrire si vous l'oubliez et pensez à partir de zéro.
La façon de penser de Kencho sur la somme cumulée
Etre capable d'écrire des sommes cumulatives sans réfléchir!
Je pense que c'est très facile à lire et à comprendre. Comme je l'ai lu et appris, la somme cumulée a un large éventail d'applications même dans AtCoader etc ...
class Solution:
def runningSum(self, nums: List[int]) -> List[int]:
i = 1
while i<len(nums):
nums[i] += nums[i-1]
i += 1
return nums
# Runtime: 44 ms, faster than 33.33% of Python3 online submissions for Running Sum of 1d Array.
# Memory Usage: 13.8 MB, less than 100.00% of Python3 online submissions for Running Sum of 1d Array.
Cette fois, je l'ai écrit comme ça.
C'est une partie basique, donc je veux pouvoir la tuer instantanément.
Jusqu'à ici pour cette fois. Je vous remercie pour votre travail acharné.
Recommended Posts