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ßartig geschrieben, aber ich habe im Moment keine Pläne für ein solches Interview.
Als IT-Ingenieur ist 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 90 ab Null "101 1. Kapazität zum Versenden von Paketen innerhalb von D Tagen"
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!
153. Find Minimum in Rotated Sorted Array Der Schwierigkeitsgrad ist Mittel. Dies ist ein Auszug aus Leet Code 60-Fragen, die ich zur Vorbereitung von Codierungsinterviews lösen möchte.
Das Problem ist, dass Sie ein Array in aufsteigender Reihenfolge mit einem Pivot drehen, den Sie vorher nicht kennen. (Es kann hilfreich sein, sich ein Beispiel vorzustellen, bei dem [0,1,2,4,5,6,7] zu [4,5,6,7,0,1,2] wird. )
Suchen Sie das kleinste Element in der Liste.
Es kann davon ausgegangen werden, dass das Array keine doppelten Elemente enthält.
Example 1:
Input: [3,4,5,1,2] Output: 1
Example 2:
Input: [4,5,6,7,0,1,2] Output: 0
class Solution:
def findMin(self, nums: List[int]) -> int:
low,high = 0,len(nums)-1
while low < high:
mid = (high+low)//2
if nums[mid] > nums[high]:
low = mid + 1
else:
high = mid
return nums[low]
# Runtime: 36 ms, faster than 92.74% of Python3 online submissions for Find Minimum in Rotated Sorted Array.
# Memory Usage: 13.9 MB, less than 83.16% of Python3 online submissions for Find Minimum in Rotated Sorted Array.
Es ist ein Algorithmus, der jedes Mal das kleinste Element zurückgibt, wenn Sie den Start- und Endpunkt einer sortierten Liste vertauschen, während Sie die Reihenfolge beibehalten. Ich denke, dass die Dichotomie (O (logn)) ein geeigneter Algorithmus ist. Wenn ich sie also so schreibe, wie sie ist, ist die Geschwindigkeit gut. Vor kurzem habe ich den Rechenaufwand eines typischen Algorithmus erneut untersucht, daher möchte ich so viel wie möglich einen geeigneten Algorithmus auswählen können. Es sind nur ein paar, also habe ich das Gefühl, dass ich hart arbeiten muss.
Wie auch immer, es ist gut, diese Problemdichotomie zu erklären ... Die lineare Suche hat keine Zeit mehr. Ist es also nicht sehr gut, sich diese Orte anzusehen? Ich dachte, es wäre eine Auswahl von Problemen.
Das war's für diese Zeit. Danke für deine harte Arbeit.
Recommended Posts