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 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 91 "153. Minimum in gedrehtem sortiertem Array finden" 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!
Die Veröffentlichung auf Qiita am 100. Tag wird vorerst getrennt. Ich dachte, es wäre schön, wenn die Artikel mit Tags alle meine Artikel wären, und ich dachte, dass es anderen Leuten im Weg stehen könnte, die nützliche Informationen liefern, also werde ich dies tun. Ich habe mich dazu entschlossen. Es gab viele Teile, die nicht erreicht werden konnten, aber ich danke Ihnen für Ihre bisherige Zusammenarbeit.
Ich werde weiterhin Probleme lösen und Artikel auf dem oben genannten persönlichen Blog schreiben. Wenn Sie interessiert sind, wäre ich Ihnen dankbar, wenn Sie ab und zu einen Blick darauf werfen könnten. Die meisten Twitter-Konten sind für Update-Benachrichtigungen vorgesehen. Wenn Sie also an Artikeln interessiert sind, die Letcode lösen, sollten Sie dies auch befolgen.
4. Median of Two Sorted Arrays Der Schwierigkeitsgrad ist Schwer.
Das Problem ist, dass es zwei sortierte Arrays "nums1" und "nums2" mit den Größen "m" und "n" gibt. Ermitteln Sie den Medianwert der beiden Sortierarrays. Es ist zu beachten, dass die Gesamtkomplexität der Ausführungszeit "O (log (m + n))" sein muss und angenommen werden kann, dass weder "nums1" noch "nums2" leer sind.
Example 1:
nums1 = [1, 3] nums2 = [2] The median is 2.0
Example 2:
nums1 = [1, 2] nums2 = [3, 4] The median is (2 + 3)/2 = 2.5
Die Tatsache, dass es sich um "O (log (m + n))" handelt, bedeutet, dass Sie die Dichotomie verwenden können. Da der Schwierigkeitsgrad jedoch "Schwer" ist, müssen zwei Listen behandelt werden. Dies erhöht die Menge an Code, die Sie schreiben, und je mehr Sie schreiben, desto wahrscheinlicher ist es, dass Sie Fehler machen. Und beide haben nicht unbedingt die gleiche Größenliste. Denken Sie also daran.
class Solution:
def obtain_kth_num(self, nums1, nums2, k):
nums1_len, nums2_len = len(nums1), len(nums2)
nums1 = [-2**31] + nums1 + [2**31-1]
nums2 = [-2**31] + nums2 + [2**31-1]
left, right = max(0, k-nums2_len), min(nums1_len, k)
while left <= right:
i = (left+right) // 2
j = k - i
if nums1[i] > nums2[j+1]:
right = i - 1
elif nums2[j] > nums1[i+1]:
left = i + 1
else:
return max(nums1[i], nums2[j])
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
nums_len = len(nums1) + len(nums2)
mid = self.obtain_kth_num(nums1, nums2, (nums_len+1)//2)
if nums_len % 2 == 0:
mid = (mid+self.obtain_kth_num(nums1, nums2, (nums_len+1)//2+1)) / 2.0
return mid
# Runtime: 116 ms, faster than 35.51% of Python3 online submissions for Median of Two Sorted Arrays.
# Memory Usage: 13.9 MB, less than 92.38% of Python3 online submissions for Median of Two Sorted Arrays.
Wie DFS haben wir eine separate Funktion implementiert und diese dann in der Hauptsache aufgerufen.
Ich glaube, ich habe bereits erklärt, dass -2 ** 31
und 2 ** 31-1
diese Methode verwenden, da Python3 keinen langen Typ enthält.
Die Funktion "get_kth_num" verwendet die angegebenen "nums1" und "num2" als Eingabe und gibt die k-te kleinste Zahl im Array zurück.
Außerdem habe ich dieses Video für die Grundidee in der Dichotomie erwähnt. Ich möchte stark genug sein, um solche Videos zu machen ...
Das war's für diese Zeit. Danke für deine harte Arbeit.
Recommended Posts