Es scheint, dass Codierungstests in Ingenieurinterviews im Ausland durchgeführt werden, und in vielen Fällen besteht die Hauptsache darin, bestimmte Funktionen und Klassen entsprechend dem Thema zu implementieren.
Anscheinend ergreifen viele Ingenieure Maßnahmen auf der Website namens LetCode.
Es ist eine Site, die die Algorithmusleistung trainiert, die dem Codierungstest standhält, der in der frühen Geschichte durchgeführt wurde, und es ist ein unvermeidlicher Weg für diejenigen, die eine Karriere bei einem ausländischen Technologieunternehmen aufbauen möchten.
Ich habe es groß geschrieben, aber ich habe im Moment keine Pläne für ein solches Interview.
Als IT-Ingenieur wäre es jedoch besser, die gleiche Algorithmusleistung wie eine Person zu haben. Daher möchte ich das Problem unregelmäßig lösen und die Methode, die ich damals dachte, als Memo aufschreiben.
Ich löse es mit Python3.
Letztes Mal Leet Code Day 88 "139. Wortumbruch" ab Null
Twitter Ich mache es.
** Technischer Blog Gestartet! !! ** ** ** Ich denke, die Technologie wird über LetCode, Django, Nuxt usw. schreiben. ** Dies ist schneller zu aktualisieren **, vielen Dank für Ihre Mitarbeit!
62. Unique Paths Der Schwierigkeitsgrad ist Mittel. Dies ist ein Auszug aus Leet Code 60-Fragen, die ich für die Codierung der Interviewvorbereitung lösen möchte.
Das Problem besteht darin, die Anzahl der eindeutigen Routen zu ermitteln. Der Roboter befindet sich in der oberen linken Ecke des Rasters "m x n" (in der folgenden Abbildung ist er mit "Start" gekennzeichnet).
Beachten Sie, dass sich der Roboter zu einem bestimmten Zeitpunkt nur nach unten oder rechts bewegen kann. Der Roboter erreicht gerade die untere rechte Ecke des Gitters (in der folgenden Abbildung ist er mit "Fertig stellen" gekennzeichnet).
Ich werde diesmal keine Figur veröffentlichen. Wenn Sie also kauen und darüber nachdenken möchten, überprüfen Sie dies bitte direkt mit dem betreffenden Link.
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
Es geht darum, die Anzahl der eindeutigen Routen zu ermitteln. Dies ist auch eine sehr effektive Art von Problem, das mit der dynamischen Programmierung wie zuvor gelöst werden kann.
Übrigens erklärt hier, wie man die Route findet, auf sehr leicht verständliche Weise auf Englisch. Ich denke, es ist relativ leicht zu verstehen, selbst für diejenigen, die nicht sehr vertraut damit sind. Ich empfehle Ihnen daher, einen Blick darauf zu werfen, wenn Sie ein solches Problem zum ersten Mal lösen.
Dann die Antwort.
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.
Darüber hinaus in der ersten Hälfte
dp = [1]*n
Die Antwort wird auch dann weitergeleitet, wenn Sie den obigen Code nicht haben. Es ist jedoch sicherer, es zu schreiben, da die Möglichkeit besteht, dass eine Ausnahme auftritt. Tatsächlich haben viele Leute die Antwort geschrieben, um sie zu diskutieren, und ich denke, wenn es sich um ein Coding-Interview usw. handelt, könnte es schnell gehen.
Danach ist der Code danach im Wesentlichen derselbe wie der Code, der in dem zuvor vorgestellten Video erklärt wurde. Es scheint also, dass eine Erklärung nicht so sehr notwendig ist.
Übrigens, wenn Sie auf YouTube nach diesem Problem suchen, wird eingeführt, dass Sie bei Amazon gefragt wurden. Wenn Sie also interessiert sind, sollten Sie es sich ansehen.
Das war's für diese Zeit. Danke für deine harte Arbeit.
Recommended Posts