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 algorithmische Leistung 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 Day67 ab Null "1486. XOR-Operation in einem Array"
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!
709. To Lower Case Der Schwierigkeitsgrad ist einfach.
Das Problem ist, dass wir eine Funktion ToLowerCase () implementieren, die den Zeichenfolgenparameter str hat und dieselbe Zeichenfolge in Kleinbuchstaben zurückgibt.
Example 1:
Input: "Hello" Output: "hello"
Example 2:
Input: "here" Output: "here"
Example 3:
Input: "LOVELY" Output: "lovely"
class Solution:
def toLowerCase(self, str: str) -> str:
return str.lower()
# Runtime: 24 ms, faster than 91.12% of Python3 online submissions for To Lower Case.
# Memory Usage: 14 MB, less than 15.17% of Python3 online submissions for To Lower Case.
Wenn Sie "niedriger" kennen, können Sie es so schreiben, aber was ist, wenn Sie es nicht wissen und keine Umgebung zum Nachschlagen haben oder wenn Sie es ohne Verwendung integrierter Funktionen lösen, werden Sie in einem tatsächlichen Interview gefragt.
In Anbetracht einer solchen Situation ist es einfach, aber es scheint überraschend klug zu sein.
Mir fiel ein, wie man mit einem Wörterbuch umgeht. Es speichert Großbuchstaben in Schlüssel und Kleinbuchstaben in Wert und wandelt sie mit einer for-Anweisung um, um sie in das entsprechende Wertelement zu ändern, wenn es ein Element gibt, das dem Schlüssel entspricht. Ich dachte jedoch, dass eine andere Sache, die mir in den Sinn kam, die Unicode-Konvertierung verwenden könnte, also habe ich dies diesmal implementiert.
class Solution:
def toLowerCase(self, str: str) -> str:
ans = ''
for s in str:
if ord(s) >= ord('A') and ord(s) <= ord('Z'):
ans +=chr(ord(s) - (ord('A') - ord('a')))
else:
ans += s
return ans
# Runtime: 28 ms, faster than 71.56% of Python3 online submissions for To Lower Case.
# Memory Usage: 13.8 MB, less than 69.29% of Python3 online submissions for To Lower Case.
Verwenden Sie die Ord-Funktion, um es in einen Unicode-Unicode-Punkt zu konvertieren und zu vergleichen. Wenn dieser Wert innerhalb des Bereichs liegt, subtrahieren Sie Unicode-Punkte und konvertieren Sie ihn schließlich mit der Funktion "chr" in eine Zeichenfolge und weisen Sie ihn "ans" zu. In anderen Fällen besteht die Idee darin, dass es ursprünglich in Kleinbuchstaben geschrieben ist, sodass Sie es einfach ersetzen können.
Als Ergänzung ist die Liste von Unicode wie folgt. Unicode-Liste 0000-0FFF
Es war sehr interessant, weil ich aus einer Perspektive darüber nachdachte, an die ich normalerweise nicht denken würde. Das war's für diese Zeit. Danke für deine harte Arbeit.
Recommended Posts