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 wurde, 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 Day78 "206. Reverse Linked List" ab Null
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!
1282. Group the People Given the Group Size They Belong To Der Schwierigkeitsgrad ist Mittel.
Das Problem ist, dass es "n" Personen mit IDs von "0" bis "n -1" gibt, die jeweils genau einer Gruppe angehören. Bei einem Array "groupSizes" mit der Länge "n", das die Größe der Gruppen angibt, zu denen jede Person gehört, wird die Anzahl der Gruppen und die "ID" der Personen in jeder Gruppe zurückgegeben.
Jede Lösung kann in beliebiger Reihenfolge usw. für "ID" zurückgegeben werden. Es wird auch garantiert, dass mindestens eine Lösung vorhanden ist.
Example 1:
Input: groupSizes = [3,3,3,3,3,1,3] Output: [[5],[0,1,2],[3,4,6]] Explanation: Other possible solutions are [[2,1,6],[5],[0,4,3]] and [[5],[0,6,2],[4,3,1]].
Example 2:
Input: groupSizes = [2,1,3,3,3,2] Output: [[1],[0,5],[2,3,4]]
#Lösung
class Solution:
def groupThePeople(self, groupSizes):
ans,group,next_group = [],[],[]
for i,j in enumerate(groupSizes):
group.append((j,i))
group.sort()
for length,index in group:
next_group.append(index)
if len(next_group) == length:
ans.append(next_group)
next_group = []
return ans
# Runtime: 64 ms, faster than 75.60% of Python online submissions for Group the People Given the Group Size They Belong To.
# Memory Usage: 12.7 MB, less than 59.40% of Python online submissions for Group the People Given the Group Size They Belong To.
Ersetzen Sie zuerst den Index und den Wert von groupSizes
in der vorbereiteten group
und sortieren Sie.
Holen Sie sich dann die sortierte Länge und den Index, fügen Sie die Länge zu "next_group" hinzu, prüfen Sie, ob die Länge von "group" und die Länge von "next_group" jedes Mal gleich sind, und geben Sie sie zurück, wenn sie gleich sind. Zu ans hinzufügen und fertig.
Beachten Sie, dass Sie Folgendes erhalten, wenn Sie "next_group" nach dem Hinzufügen zu "ans" nicht initialisieren:
Input
[3,3,3,3,3,1,3]
Output
[[5,0,1,2,3,4,6],[5,0,1,2,3,4,6]]
Expected
[[5],[0,1,2],[3,4,6]]
Ich fragte mich, ob es etwas gab, weil die Akzeptanz hoch war, aber es gab nichts Besonderes.
Das war's für diese Zeit. Danke für deine harte Arbeit.
Recommended Posts