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 wird, 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 Day70 ab Null "295. Median aus Datenstrom suchen"
Im Moment priorisiere ich das Medium der 100 beliebtesten Fragen. Easy wurde gelöst. Wenn Sie interessiert sind, gehen Sie bitte zum Tisch.
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!
Der Schwierigkeitsgrad ist einfach. Dies ist das zuletzt hinzugefügte Easy-Problem.
Das Problem ist, dass bei einem Pfad einer Zeichenfolge wie Pfad [i] = 'N', 'S', 'E', 'W' jeweils eine Bewegungseinheit dargestellt wird. Ausgehend vom Ursprung (0, 0) in der zweidimensionalen Ebene geht es auf dem durch path angegebenen Pfad. Gibt True zurück, wenn sich die Pfade an einem beliebigen Punkt kreuzen, dh wenn Sie sich an einem Ort befinden, den Sie zuvor besucht haben. Andernfalls wird False zurückgegeben.
Ich kann wegen des Bildes kein Beispiel nennen, also überprüfen Sie es bitte selbst.
Ich habe die Methode gewählt, die Koordinaten mit x und y zu verwalten und die ersten Koordinaten mit dict zu verwalten. Hmm. Ich denke nicht, dass es sehr klug ist, aber es dreht den Pfad mit einer for-Anweisung und ändert die Koordinaten, wenn es mit jeder Zeichenfolge übereinstimmt. Trotzdem ist die Geschwindigkeit selbst hoch, wahrscheinlich weil die Anzahl der Antworten gering ist ... Ich kann nichts sagen, aber vorerst ist es das.
class Solution:
def isPathCrossing(self, path: str) -> bool:
x = y = 0
isVisited = {(0,0):True}
for i in path:
if i == 'N':
y += 1
elif i == 'E':
x += 1
elif i == 'S':
y -= 1
else:
x -= 1
if isVisited.get((x,y)):
return True
isVisited[(x,y)] = True
return False
# Runtime: 24 ms, faster than 96.92% of Python3 online submissions for Path Crossing.
# Memory Usage: 14 MB, less than 100.00% of Python3 online submissions for Path Crossing.
Ist es besser, in Java oder einer switch-Anweisung zu schreiben ...? Dieses Mal habe ich es gepostet, um es als neues Problem zu diskutieren. Simple Python Solution
Ich bin nervös, aber wenn Sie dies tun, können Sie sich von klügeren Leuten beraten lassen!
Das war's für diese Zeit. Danke für deine harte Arbeit.
Recommended Posts