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.
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 à l'époque 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 88 "139. Word Break" à partir de zéro
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!
62. Unique Paths Le niveau de difficulté est moyen. Ceci est un extrait de Leet Code 60 Questions que je veux résoudre pour la préparation des entrevues de codage.
Le problème est de trouver le nombre d'itinéraires uniques. Le robot est situé dans le coin supérieur gauche de la grille «m x n» (il est étiqueté «Démarrer» dans la figure ci-dessous).
Notez que le robot ne peut se déplacer que vers le bas ou vers la droite à un moment donné. Le robot est sur le point d'atteindre le coin inférieur droit de la grille (il est étiqueté «Terminer» dans la figure ci-dessous).
Je ne publierai pas de chiffre cette fois, donc si vous voulez mâcher et y réfléchir, veuillez vérifier directement avec le lien en question.
Example 1:
Input: m = 3, n = 2 Output: 3 Explanation: From the top-left corner, there are a total of 3 ways to reach the bottom-right corner:
Example 2:
Input: m = 7, n = 3 Output: 28
Il s'agit de trouver le nombre d'itinéraires uniques. C'est également un type de problème très efficace à résoudre avec la programmation dynamique comme auparavant.
En passant, concernant la façon de trouver l'itinéraire, ici explique en anglais d'une manière très facile à comprendre. Je pense que c'est relativement facile à comprendre même pour ceux qui ne le connaissent pas très bien, je vous recommande donc de jeter un coup d'œil lorsque vous résolvez un tel problème pour la première fois.
Puis la réponse.
class Solution:
def uniquePaths(self, m: int, n: int) -> int:
if m == 1 or n == 1:
return 1
if n < m:
self.uniquePaths(n,m)
dp = [1]*n
for i in range(1,m):
for j in range(1,n):
dp[j] += dp[j-1]
return dp[-1]
# Runtime: 28 ms, faster than 84.67% of Python3 online submissions for Unique Paths.
# Memory Usage: 13.8 MB, less than 74.12% of Python3 online submissions for Unique Paths.
De plus, au premier semestre
dp = [1]*n
La réponse passera même si vous n'avez pas le code ci-dessus. Cependant, il est plus sûr de l'écrire car il est possible qu'une exception se produise. En fait, beaucoup de gens ont écrit la réponse pour en discuter, et je pense que s'il s'agissait d'une interview de codage, etc., cela pourrait être précipité.
Après cela, le code qui suit est fondamentalement le même que le code expliqué dans la vidéo présentée précédemment, il semble donc que l'explication ne soit pas tellement nécessaire.
En passant, si vous recherchez ce problème sur YouTube, il est introduit que vous avez été invité sur Amazon, donc si vous êtes intéressé, vous voudrez peut-être le vérifier.
Alors c'est tout pour cette fois. Je vous remercie pour votre travail acharné.
Recommended Posts