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.
Als Gegenmaßnahme scheint eine Website namens Let Code Maßnahmen zu ergreifen.
Eine Site, die algorithmische Leistung trainiert, die Codierungstests standhält, über die früh gesprochen wird.
Ich denke, es ist besser, die Algorithmuskraft eines Menschen zu haben, also werde ich das Problem unregelmäßig lösen und die Methode, die ich damals dachte, als Memo aufschreiben.
Letztes Mal Leet Code Tag 16 "344. Reverse String" ab Null
Grundsätzlich möchte ich die einfache Akzeptanz in absteigender Reihenfolge lösen.
Der Schwierigkeitsgrad ist einfach. Es ist ein Auszug aus den Top 100 Liked Questions.
Suchen Sie das Element, das die Mehrheit im angegebenen Array mit der Größe "n" ausmacht. Es wird angenommen, dass das Array nicht leer ist und dass die meisten Elemente immer vorhanden sind.
Example 1: Input: [3,2,3] Output: 3
Example 2: Input: [2,2,1,1,1,2,2] Output: 2
Beide geben die Mehrheit zurück.
Es ist gut, die eingebaute Funktion "count" zu verwenden, aber Python hat eine "Counter" -Funktion, daher denke ich, dass es einfacher ist, diese zu verwenden.
Der Unterschied zwischen den beiden ist
# count:Sie können es ohne Import verwenden. Zählen Sie die Nummer jedes Elements.
nums = [2,2,1,1,1,2,2]
print(nums.count(0))
# 0
print(nums.count(1))
# 3
print(nums.count(2))
# 4
#counter:Es kann nicht ohne Import verwendet werden. Elemente können in absteigender Reihenfolge des Auftretens erworben werden.
from collections import Counter
nums = [2,2,1,1,1,2,2]
num = collections.Counter(nums)
print(num)
# Counter({2: 4, 1: 3})
print(type(c))
# <class 'collections.Counter'>
print(issubclass(type(c), dict))
# True
Sie können den Unterschied sehen. Dieses Mal müssen wir nur denjenigen zurückgeben, der die Mehrheit belegt, daher werden wir die Verwendung von "Zähler" in Betracht ziehen.
from collections import Counter
class Solution:
def majorityElement(self, nums: List[int]) -> int:
ans = collections.Counter(nums)
return ans.most_common(1)[0][0]
#Runtime: 172 ms, faster than 79.63% of Python3 online submissions for Majority Element.
# Memory Usage: 15.1 MB, less than 7.14% of Python3 online submissions for Majority Element.
Zuerst können Sie ans.keys () [0] verwenden, richtig? Ich dachte, aber das Wörterbuch wäre ein Fehler ... Also habe ich es einfach mit der in Counter enthaltenen Methode most_common () geschrieben (Rückgabe einer Liste von Tapples in Form von (Element, Anzahl der Vorkommen), die in der Reihenfolge der Anzahl der Vorkommen angeordnet sind).
Ich werde hinzufügen, wenn es eine andere gute Methode gibt.
Recommended Posts