LintCode
Aktuell (22.08.2016) gibt es 289
Probleme bei LintCode Online Judge. Die Zahl der Probleme nimmt in letzter Zeit zu. Hier ist die Klassifizierung aller 289
Probleme. Weitere Probleme und Lösungen finden Sie in meinem LeetCode-Solutions-Repository. Ich werde weiter aktualisieren, um eine vollständige Zusammenfassung und bessere Lösungen zu erhalten. Bleiben Sie dran für Updates.
Algorithmen
- Bit-Manipulation
- Array
- Zeichenfolge
- Verlinkte Liste
- Mathe
- Baum
- Stapel
- Warteschlange
- Haufen
- Hash-Tabellen
- Datenstruktur
- Sortieren
- Rekursion
- Binäre Suche
- Breitenorientierte Suche
- Tiefensuche
- Zurückverfolgen
- Binäre Suchbäume
- Dynamische Programmierung
- Gierig
- OO-Design
- Systemdesign
Bit-Manipulation
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
1 | A + B-Problem | C++ | O(1) | O(1) | Medium | | |
82 | Einzelne Nummer | C++ | An) | O(1) | Einfach | LeetCode | |
83 | Einzelnummer II | C++ | An) | O(1) | Einfach | LeetCode | |
84 | Einzelnummer III | C++ | An) | O(1) | Medium | CTCI | |
142 | O(1) Potenz von 2 prüfen | C++ | O(1) | O(1) | Einfach | | |
179 | Bits aktualisieren | C++ | O(1) | O(1) | Medium | CTCI | |
181 | Bits umdrehen | C++ | O(1) | O(1) | Einfach | CTCI | |
196 | Finden Sie die fehlende Nummer | C++ | An) | O(1) | Medium | | |
365 | Zähle 1 im Binärformat | C++ | O(1) | O(1) | Einfach | CTCI | |
Array
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
6 | Sortiertes Array zusammenführen | C++ | O(m + n) | O(1) | Einfach | LeetCode | Zwei Hinweise |
8 | String drehen | C++ | An) | O(1) | Einfach | LeetCode | |
9 | Fizz Buzz | C++ | An) | O(1) | Einfach | | |
30 | Intervall einfügen | C++ | An) | O(1) | Einfach | LeetCode, EPI | |
31 | Partitionsarray | C++ | An) | O(1) | Medium | | Zwei Hinweise |
32 | Minimaler Fensterteilstring | C++ | An) | O(1) | Medium | LeetCode | |
38 | Durchsuchen Sie eine 2D-Matrix II | C++ | O(m + n) | O(1) | Medium | EPI | |
39 | Gedrehtes sortiertes Array wiederherstellen | C++ | An) | O(1) | Einfach | | |
46 | Mehrheitszahl | C++ | An) | O(1) | Einfach | LeetCode | |
47 | Mehrheitszahl II | C++ | An) | O(1) | Medium | EPI | |
48 | Mehrheitszahl III | C++ | An) | OK) | Medium | EPI | |
49 | Briefe nach Groß- und Kleinschreibung sortieren | C++ | An) | O(1) | Medium | | Zwei Hinweise |
50 | Produkt des Arrays schließt sich selbst aus | C++ | An) | O(1) | Einfach | | |
51 | Vorherige Permutation | C++ | An) | O(1) | Medium | | |
52 | Nächste Permutation | C++ | An) | O(1) | Medium | LeetCode | |
57 | 3 Summe | C++ | O(n^2) | O(1) | Medium | LeetCode | Zwei Zeiger, Sortieren |
58 | 4 Summe | C++ | O(n^3) | O(1) | Medium | LeetCode | Hash |
59 | 3 Summe am nächsten | C++ | O(n^2) | O(1) | Medium | LeetCode | Zwei Zeiger, Sortieren |
64 | Sortiertes Array zusammenführen II | C++ | O(m + n) | O(1) | Einfach | LeetCode | Zwei Hinweise |
100 | Duplikate aus sortiertem Array entfernen | C++ | An) | O(1) | Einfach | LeetCode | Zwei Hinweise |
101 | Duplikate aus sortiertem Array II entfernen | C++ | An) | O(1) | Einfach | LeetCode | Zwei Hinweise |
133 | Längste Wörter | C++ | An) | An) | Einfach | | |
144 | Positive und negative Zahlen verschachteln | C++ | An) | O(1) | Medium | | Zwei Hinweise |
161 | Bild drehen | C++ | O(n^2) | O(1) | Medium | LeetCode | |
162 | Setzen Sie Matrix-Nullen | C++ | O(m * n) | O(1) | Medium | LeetCode | |
172 | Element entfernen | C++ | An) | O(1) | Einfach | LeetCode | Zwei Hinweise |
185 | Matrix-Zickzack-Durchquerung | C++ | O(m * n) | O(1) | Einfach | | |
189 | Erstes fehlendes Positiv | C++ | An) | O(1) | Einfach | LeetCode, EPI | Hash |
190 | Nächste Permutation II | C++ | An) | O(1) | Medium | LeetCode | |
200 | Längster palindromischer Teilstring | C++ | An) | An) | Medium | LeetCode | Manacher's Algorithm |
363 | Regenwasser auffangen | C++ | An) | O(1) | Medium | LeetCode | Zwei Hinweise, knifflig |
373 | Partitionieren Sie das Array nach ungeraden und geraden Werten | C++ | An) | O(1) | Einfach | | Zwei Hinweise |
374 | Spiralmatrix | C++ | O(m * n) | O(1) | Medium | LeetCode | |
381 | Spiralmatrix II | C++ | O(n^2) | O(1) | Medium | LeetCode | |
382 | Dreiecksanzahl | C++ | O(n^2) | O(1) | Medium | | Zwei Hinweise |
383 | Behälter mit dem meisten Wasser | C++ | An) | O(1) | Medium | LeetCode, EPI | Zwei Hinweise |
388 | Permutationssequenz | C++ | O(n^2) | An) | Medium | LeetCode | |
389 | Gültiges Sudoku | C++ | O(9^2) | O(9) | Einfach | LeetCode | |
404 | Subarray-Summe II | C++ | O(nlogn) | An) | Hart | | Zwei Hinweise, binäre Suche |
405 | Submatrix-Summe | C++ | O(m * n^2) | O(m) | Hart | | Hash |
406 | Subarray-Summe mit minimaler Größe | C++ | An) | O(1) | Medium | LeetCode | Zwei Hinweise, binäre Suche |
539 | Nullen verschieben | C++ | An) | O(1) | Einfach | LeetCode | Zwei Hinweise |
Zeichenfolge
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
13 | strStr | C++ | O(n + k) | OK) | Einfach | LeetCode | KMP Algorithm |
53 | Wörter in einer Zeichenfolge umkehren | C++ | An) | O(1) | Einfach | LeetCode, EPI | |
54 | String zu Integer(atoi) | C++ | An) | O(1) | Hart | LeetCode | |
55 | Vergleichen Sie Zeichenfolgen | C++ | An) | O(c) | Einfach | | |
78 | Längstes gemeinsames Präfix | C++ | An) | O(1) | Medium | | |
157 | Einzigartige Charaktere | C++ | An) | O(1) | Einfach | CTCI | |
158 | Zwei Zeichenfolgen sind Anagramme | C++ | An) | O(1) | Einfach | | |
171 | Anagramme | C++ | O(n * klogk) | O(m) | Einfach | LeetCode, EPI | |
212 | Platzersatz | C++ | An) | O(1) | Einfach | | |
407 | Plus Eins | C++ | An) | O(1) | Einfach | LeetCode | |
408 | Binär hinzufügen | C++ | An) | O(1) | Einfach | LeetCode | |
415 | Gültiges Palindrom | C++ | An) | O(1) | Einfach | LeetCode | |
417 | Gültige Nummer | C++ | An) | O(1) | Hart | LeetCode | Automaten |
420 | Zählen und sagen | C++ | O(n * 2^n) | O(2^n) | Einfach | LeetCode | |
422 | Länge des letzten Wortes | C++ | An) | O(1) | Einfach | LeetCode | |
524 | Linkes Pad | C++ | O(p + n) | O(1) | Einfach | LeetCode | |
Verlinkte Liste
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
16 | Zwei sortierte Listen zusammenführen | C++ | An) | O(1) | Einfach | LeetCode, EPI | |
35 | Umgekehrt verknüpfte Liste | C++ | An) | O(1) | Einfach | LeetCode, EPI | |
36 | Reverse-Linked-Liste II | C++ | An) | O(1) | Medium | LeetCode, EPI | |
96 | Partitionsliste | C++ | An) | O(1) | Einfach | LeetCode | |
98 | Sortierliste | C++ | O(nlogn) | O(logn) | Medium | LeetCode, EPI | |
99 | Liste neu anordnen | C++ | An) | O(1) | Medium | LeetCode | |
102 | Zyklus verknüpfter Listen | C++ | An) | O(1) | Medium | LeetCode | |
103 | Verknüpfter Listenzyklus II | C++ | An) | O(1) | Hart | LeetCode | |
104 | K sortierte Listen zusammenführen | C++ | O(n * logk) | O(1) | Medium | LeetCode | Haufen, teilen und erobern |
105 | Liste mit Zufallszeiger kopieren | C++ | An) | O(1) | Medium | LeetCode | |
106 | Konvertieren Sie eine sortierte Liste in einen binären Suchbaum | C++ | An) | O(logn) | Medium | LeetCode, EPI | |
112 | Entfernen Sie Duplikate aus der sortierten Liste | C++ | An) | O(1) | Einfach | LeetCode, EPI | |
113 | Duplikate aus sortierter Liste II entfernen | C++ | An) | O(1) | Medium | LeetCode, EPI | |
166 | Nter bis letzter Knoten in der Liste | C++ | An) | O(1) | Einfach | LeetCode | |
167 | Zwei Listen summieren | C++ | An) | O(1) | Einfach | LeetCode | |
170 | Liste drehen | C++ | An) | O(1) | Medium | LeetCode | |
173 | Sortierliste für Einfügungen | C++ | O(n^2) | O(1) | Einfach | LeetCode | |
174 | N-ten Knoten vom Ende der Liste entfernen | C++ | An) | O(1) | Einfach | LeetCode | |
223 | Palindrome-verknüpfte Liste | C++ | An) | O(1) | Medium | LeetCode | |
372 | Knoten in der Mitte der einfach verknüpften Liste löschen | C++ | O(1) | O(1) | Einfach | CTCI | |
380 | Schnittpunkt zweier verknüpfter Listen | C++ | O(m + n) | O(1) | Einfach | LeetCode | |
450 | Umkehrknoten in der k-Gruppe | C++ | An) | O(1) | Hart | LeetCode | |
451 | Tauschen Sie Knoten paarweise aus | C++ | An) | O(1) | Einfach | LeetCode | |
452 | Verknüpfte Listenelemente entfernen | C++ | An) | O(1) | Naiv | LeetCode | |
511 | Tauschen Sie zwei Knoten in der verknüpften Liste aus | C++ | An) | O(1) | Medium | | |
Baum
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
7 | Binärbaum-Serialisierung | C++ | An) | Oh) | Medium | | |
85 | Knoten in einen binären Suchbaum einfügen | C++ | Oh) | O(1) | Einfach | | |
88 | Niedrigster gemeinsamer Vorfahre | C++ | An) | Oh) | Medium | EPI | |
175 | Binärbaum umkehren | C++ | An) | Oh) | Einfach | LeetCode | |
442 | Versuchen Sie es zu implementieren | C++ | An) | O(1) | Medium | LeetCode | Versuchen Sie es |
Stapel
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
12 | Min. Stapel | C++ | An) | O(1) | Medium | LeetCode, EPI | |
40 | Implementieren Sie die Warteschlange um zwei Stapel | C++ | O(1), amortisiert | An) | Medium | EPI | |
66 | Binärbaum-Vorbestellungsdurchquerung | C++ | An) | O(1) | Einfach | LeetCode, EPI | Morris Traversal |
67 | Binärer Baum-Inorder-Traversal | C++ | An) | O(1) | Einfach | LeetCode, EPI | Morris Traversal |
68 | Binärbaum-Postorder-Traversal | C++ | An) | O(1) | Einfach | LeetCode, EPI | Morris Traversal |
122 | Größtes Rechteck im Histogramm | C++ | An) | An) | Hart | LeetCode, EPI | Aufsteigender Stapel |
126 | Max Baum | C++ | An) | An) | Hart | | Absteigender Stapel |
367 | Ausdrucksbaumaufbau | C++ | An) | An) | Hart | | |
368 | Ausdrucksbewertung | C++ | An) | An) | Hart | | |
369 | Konvertieren Sie den Ausdruck in die polnische Notation | C++ | An) | An) | Hart | | |
370 | Konvertieren Sie den Ausdruck in die umgekehrte polnische Notation | C++ | An) | An) | Hart | | |
421 | Pfad vereinfachen | C++ | An) | An) | Medium | LeetCode | |
423 | Gültige Klammern | C++ | An) | An) | Einfach | LeetCode | |
424 | Bewerten Sie die umgekehrte polnische Notation | C++ | An) | An) | Medium | LeetCode | |
473 | Wort hinzufügen und suchen | C++ | O(min(n, h)) | O(min(n, h) | Medium | LeetCode | Versuchen Sie es |
510 | Maximales Rechteck | C++ | O(m * n) | An) | Hart | LeetCode | Aufsteigender Stapel |
528 | Iterator für verschachtelte Listen reduzieren | C++ | An) | Oh) | Medium | LeetCode | |
Warteschlange
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
362 | Schiebefenster Maximum | C++ | An) | OK) | Hart | EPI | Deque, Tricky |
Haufen
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
4 | Hässliche Nummer II | C++ | An) | O(1) | Medium | CTCI | BST, Heap |
81 | Datenstrom-Median | C++ | O(nlogn) | An) | Hart | EPI | BST, Heap |
130 | Aufhäufen | C++ | An) | O(1) | Medium | | |
364 | Regenwasser auffangen II | C++ | O(m * n * (logm + logn)) | O(m * n) | Hart | | BFS, Heap, Tricky |
518 | Super hässliche Nummer | C++ | O(n * k) | O(n + k) | Medium | LeetCode | BST, Heap |
Hash-Tabellen
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
56 | 2 Summe | C++ | An) | An) | Medium | LeetCode | |
124 | Längste aufeinanderfolgende Sequenz | C++ | An) | An) | Medium | LeetCode, EPI | |
128 | Hash-Funktion | C++ | An) | O(1) | Einfach | | |
129 | Aufwärmen | C++ | An) | An) | Medium | | |
138 | Subarray-Summe | C++ | An) | An) | Einfach | | |
186 | Maximale Punkte auf einer Linie | C++ | O(n^2) | An) | Medium | LeetCode | |
211 | String-Permutation | C++ | An) | O(1) | Einfach | | |
384 | Längster Teilstring ohne sich wiederholende Zeichen | C++ | An) | O(1) | Medium | LeetCode, EPI | |
386 | Längster Teilstring mit höchstens K unterschiedlichen Zeichen | C++ | An) | An) | Medium | | |
432 | Finden Sie die schwache Zusammenhangskomponente im gerichteten Diagramm | C++ | O(nlogn) | An) | Medium | | Unionsfund |
434 | Anzahl der Inseln II | C++ | OK) | OK) | Hart | | Unionsfund |
488 | Glückliche Zahl | C++ | OK) | OK) | Einfach | LeetCode | |
547 | Schnittpunkt zweier Arrays | C++ | O(m + n) | O(min(m, n)) | Einfach | EPI, LeetCode | Zwei Hinweise, binäre Suche |
548 | Schnittpunkt zweier Arrays II | C++ | O(m + n) | O(min(m, n)) | Einfach | EPI, LeetCode | Zwei Hinweise, binäre Suche |
Datenstruktur
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
134 | LRU-Cache | C++ | O(1) | OK) | Hart | LeetCode, EPI | Liste, Hash |
Mathe
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
2 | Nachfolgende Nullen | C++ | O(1) | O(1) | Einfach | LeetCode | |
3 | Ziffernzählungen | C++ | O(1) | O(1) | Medium | CTCI | |
114 | Einzigartige Wege | C++ | O(min(m, n)) | O(1) | Einfach | LeetCode, CTCI | DP, Mathe |
163 | Einzigartige binäre Suchbäume | C++ | An) | O(1) | Medium | CTCI | DP, Mathematik, Catalan Number |
180 | Binäre Darstellung | C++ | O(1) | O(1) | Hart | CTCI | |
197 | Permutationsindex | C++ | O(n^2) | O(1) | Einfach | | |
198 | Permutationsindex II | C++ | O(n^2) | An) | Medium | | |
394 | Münzen in einer Linie | C++ | O(1) | O(1) | Einfach | | |
411 | Grauer Code | C++ | O(2^n) | O(1) | Medium | LeetCode | |
413 | Reverse Integer | C++ | O(1) | O(1) | Medium | LeetCode | |
414 | Teilen Sie zwei ganze Zahlen | C++ | O(1) | O(1) | Medium | LeetCode | |
418 | Ganzzahl zu Roman | C++ | An) | O(1) | Medium | LeetCode | |
419 | Roman zu Ganzzahl | C++ | An) | O(1) | Medium | LeetCode | |
428 | Pow(x, n) | C++ | O(1) | O(1) | Medium | LeetCode | |
445 | Kosinusähnlichkeit | C++ Python | An) | O(1) | Einfach | | |
517 | Hässliche Nummer | C++ | O(1) | O(1) | Einfach | CTCI, LeetCode | |
Sortieren
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
5 | K-tes größtes Element | C++ | O(n) ~ O(n^2) | O(1) | Medium | EPI | Zwei Zeiger, schnelle Sortierung |
80 | Mittlere | C++ | An) | O(1) | Einfach | EPI | |
139 | Subarray-Summe am nächsten | C++ | O(nlogn) | An) | Medium | | Sortieren |
143 | Farben sortieren II | C++ | An) | O(1) | Medium | | |
148 | Farben sortieren | C++ | An) | O(1) | Medium | LeetCode | |
156 | Intervalle zusammenführen | C++ | O(nlogn) | O(1) | Einfach | LeetCode, EPI | |
184 | Größte Zahl | C++ | O(nlogn) | O(1) | Medium | LeetCode | |
366 | Fibonacci | C++ | An) | O(1) | Einfach | | |
379 | Ordnen Sie das Array neu an, um die Mindestanzahl zu erstellen | C++ | O(nlogn) | O(1) | Medium | LeetCode | |
387 | Der kleinste Unterschied | C++ | O(max(m, n) * log(min(m, n))) | O(1) | Medium | | Zwei Hinweise, binäre Suche |
399 | Problem mit Schrauben und Muttern | C++ | O(nlogn) | O(logn) | Medium | | Schnelle Sortierung |
400 | Maximale Lücke | C++ Python | An) | An) | Hart | LeetCode | Eimersortierung |
463 | Ganzzahlen sortieren | C++ | O(n^2) | O(1) | Einfach | | Einfügungssortierung, Auswahlsortierung, Blasensortierung |
464 | Ganzzahlen sortieren II | C++ | O(nlogn) | An) | Einfach | | Zusammenführungssortierung, Heap-Sortierung, Schnellsortierung |
507 | Wiggle Sort II | C++ | O(n) im Durchschnitt | O(1) | Medium | LeetCode | Tri-Partition |
508 | Wackelsortierung | C++ | An) | O(1) | Medium | LeetCode | |
Rekursion
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
22 | Liste reduzieren | C++ | An) | Oh) | Einfach | | |
72 | Konstruieren Sie einen Binärbaum aus Inorder- und Postorder-Traversal | C++ | An) | An) | Medium | LeetCode, EPI | |
73 | Konstruieren Sie einen Binärbaum aus Vorbestellung und Inorder-Traversal | C++ | An) | An) | Medium | LeetCode, EPI | |
93 | Ausgewogener Binärbaum | C++ | An) | Oh) | Einfach | LeetCode | |
94 | Maximale Pfadsumme des Binärbaums | C++ | An) | Oh) | Medium | LeetCode | |
95 | Validieren Sie den binären Suchbaum | C++ | An) | Oh) | Medium | LeetCode | |
97 | Maximale Tiefe des Binärbaums | C++ | An) | Oh) | Einfach | LeetCode | |
131 | Gebäudeübersicht | C++ Python | O(nlogn) | An) | Hart | EPI | Sortieren, BST |
140 | Schnelle Leistung | C++ | O(logn) | O(1) | Medium | | |
155 | Mindesttiefe des Binärbaums | C++ | An) | Oh) | Einfach | LeetCode | |
164 | Einzigartige binäre Suchbäume II | C++ | O(n * 4^n / n^(3/2)) | An) | Medium | LeetCode | |
177 | Konvertieren Sie ein sortiertes Array in einen binären Suchbaum mit minimaler Höhe | C++ | An) | O(logn) | Einfach | LeetCode | |
201 | Segmentbaumaufbau | C++ | An) | Oh) | Medium | | Segmentbaum, BST |
202 | Segmentbaumabfrage | C++ | Oh) | Oh) | Medium | | Segmentbaum, BST |
203 | Segmentbaum ändern | C++ | Oh) | Oh) | Medium | | Segmentbaum, BST |
205 | Intervall-Mindestanzahl | C++ | Baum erstellen: O(n) , Abfrage: (h) | Oh) | Hart | | Segmentbaum, BST |
206 | Intervallsumme | C++ | Baum erstellen: O(n) , Abfrage: O(logn) | An) | Hart | | Segmentbaum, BIT |
207 | Intervallsumme II | C++ | Baum erstellen: O(n) , Abfrage: O(logn) , ändern: O(logn) | An) | Hart | | Segmentbaum, BIT |
245 | Teilbaum | C++ | O(m * n) | O(1) | Einfach | | Morris Traversal |
247 | Segmentbaumabfrage II | C++ | Oh) | Oh) | Hart | | Segmentbaum, BST |
248 | Anzahl der kleineren Zahlen | C++ | Baum erstellen: O(n) , Abfrage: O(logn) | Oh) | Medium | | Segmentbaum, BST |
371 | Zahlen durch Rekursion drucken | C++ | An) | An) | Medium | | |
375 | Binärbaum klonen | C++ | An) | Oh) | Einfach | | |
378 | Konvertieren Sie den binären Suchbaum in eine doppelt verknüpfte Liste | C++ | An) | Oh) | Medium | | |
439 | Segmentbaumaufbau II | C++ | An) | Oh) | Medium | | Segmentbaum, BST |
453 | Reduzieren Sie den Binärbaum auf eine verknüpfte Liste | C++ | An) | Oh) | Einfach | LeetCode | |
469 | Identischer Binärbaum | C++ | An) | Oh) | Einfach | | |
532 | Umgekehrte Paare | C++ | O(nlogn) | An) | Medium | Variante von Count of Smaller Number vor sich | BIT, Sortierung zusammenführen |
535 | Hausräuber III | C++ | An) | Oh) | Medium | LeetCode | |
Binäre Suche
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
14 | Erste Position des Ziels | C++ | O(logn) | O(1) | Einfach | | |
28 | Durchsuchen Sie eine 2D-Matrix | C++ | O(logm + logn) | O(1) | Einfach | LeetCode | |
60 | Einfügeposition suchen | C++ | O(logn) | O(1) | Einfach | LeetCode | |
61 | Suchen Sie nach einem Bereich | C++ | O(logn) | O(1) | Medium | LeetCode | |
62 | Suche im gedrehten sortierten Array | C++ | O(logn) | O(1) | Medium | LeetCode | |
63 | Suche im rotierten sortierten Array II | C++ | O(logn) | O(1) | Medium | LeetCode | |
65 | Median zweier sortierter Arrays | C++ | O(log(min(m, n))) | O(1) | Hart | LeetCode, EPI | Schwierig |
74 | Erste schlechte Version | C++ | O(logn) | O(1) | Medium | | |
75 | Peak-Element finden | C++ | O(logn) | O(1) | Medium | LeetCode | |
76 | Längste ansteigende Folge | C++ | O(nlogn) | An) | Medium | CTCI | |
141 | Quadrat(x) | C++ | O(logn) | O(1) | Einfach | LeetCode | |
159 | Finden Sie das Minimum im gedrehten sortierten Array | C++ | O(logn) | O(1) | Medium | LeetCode | |
160 | Finden Sie das Minimum im gedrehten sortierten Array II | C++ | O(logn) | O(1) | Medium | LeetCode | |
183 | Holzschnitt | C++ | O(nlogL) | O(1) | Medium | | |
390 | Finden Sie Peak Element II | C++ Java Python | O(m + n) | O(1) | Hart | | |
437 | Bücher kopieren | C++ | O(nlogp) | O(1) | Hart | UVa 714 | |
Breitenorientierte Suche
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
69 | Ordnungsdurchquerung auf binärer Baumebene | C++ | An) | An) | Medium | LeetCode | BFS |
70 | Ordnungsdurchquerung auf binärer Baumebene II | C++ | An) | An) | Medium | LeetCode | BFS |
71 | Durchquerung der Binärbaum-Zickzack-Ebenenreihenfolge | C++ | An) | An) | Medium | LeetCode | BFS |
120 | Wortleiter | C++ | O(n * d) | O(d) | Medium | LeetCode | BFS |
121 | Wortleiter II | C++ | O(n * d) | O(d) | Hart | LeetCode | BFS, Back Trace |
127 | Topologische Sortierung | C++ | O(|V|+|E|) | O(|E|) | Medium | | DFS, BFS |
137 | Diagramm klonen | C++ | O(|V|+|E|) | O(|V|) | Medium | | BFS |
176 | Route zwischen zwei Knoten im Diagramm | C++ | An) | An) | Medium | | DFS, BFS |
178 | Diagramm gültiger Baum | C++ | O(|V| + |E|) | O(|V| + |E|) | Medium | LeetCode | |
431 | Finden Sie die verbundene Komponente im ungerichteten Diagramm | C++ | An) | An) | Medium | | BFS |
477 | Umgebene Regionen | C++ | O(m * n) | O(m + n) | Medium | LeetCode | |
Tiefensuche
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
90 | K Summe II | C++ | O(k * C(n, k)) | OK) | Medium | | |
376 | Binäre Baumpfadsumme | C++ | An) | Oh) | Einfach | LeetCode | |
433 | Anzahl der Inseln | C++ | O(m * n) | O(m * n) | Einfach | LeetCode | DFS |
480 | Binärbaumpfade | C++ | O(n * h) | Oh) | Einfach | LeetCode | |
Zurückverfolgen
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
15 | Permutationen | C++ | O(n * n!) | An) | Medium | LeetCode, EPI | |
16 | Permutationen II | C++ | O(n * n!) | An) | Medium | LeetCode, EPI | |
17 | Teilmengen | C++ | O(n * 2^n) | O(1) | Medium | LeetCode | |
18 | Teilmengen II | C++ | O(n * 2^n) | O(1) | Medium | LeetCode | |
33 | N-Queens | C++ | O(n * n!) | An) | Medium | LeetCode, EPI | |
34 | N-Queens II | C++ | O(n * n!) | An) | Medium | LeetCode, EPI | |
123 | Wortsuche | C++ | O(m * n * l) | O(l) | Medium | LeetCode | |
132 | Wortsuche II | C++ | O(m * n * l) | O(l) | Hart | | Versuchen Sie es, DFS |
135 | Kombinationssumme | C++ | O(k * n^k) | OK) | Medium | LeetCode | DFS |
136 | Palindrom-Partitionierung | C++ | O(2^n) | An) | Einfach | LeetCode, EPI | |
152 | Kombinationen | C++ | O(k * n^k) | OK) | Medium | LeetCode, EPI | |
153 | Kombinationssumme II | C++ | O(k * C(n, k)) | OK) | Medium | LeetCode | DFS |
425 | Buchstabenkombinationen einer Telefonnummer | C++ | O(n * 4^n) | An) | Medium | LeetCode | |
426 | IP-Adressen wiederherstellen | C++ | O(1) | O(1) | Medium | LeetCode | |
427 | Erzeugen Sie Klammern | C++ | O(4^n / n^(3/2)) | An) | Medium | LeetCode | |
Binäre Suchbäume
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
11 | Suchbereich im binären Suchbaum | C++ | An) | Oh) | Medium | EPI | |
86 | Binärer Suchbaum-Iterator | C++ | O(1) | Oh) | Hart | LeetCode | |
87 | Knoten im binären Suchbaum entfernen | C++ | Oh) | Oh) | Hart | | |
249 | Zählung der kleineren Zahl vor sich selbst | C++ | O(nlogn) | An) | Hart | | BST, BIT, Divide and Conquer, Merge Sort |
360 | Schiebefenster-Median | C++ | O(nlogw) | O(w) | Hart | | BST, knifflig |
391 | Anzahl der Flugzeuge am Himmel | C++ | O(nlogn) | An) | Einfach | | BST, Heap |
401 | K-te kleinste Zahl in der sortierten Matrix | C++ | O(klog(min(m, n, k))) | O(min(m, n, k)) | Medium | | BST, Heap |
Dynamische Programmierung
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
20 | Würfelsumme | C++ | O(n^2) | An) | Hart | | |
29 | Interleaving-String | C++ | O(m * n) | O(min(m, n)) | Medium | EPI | |
43 | Maximales Subarray III | C++ | O(k * n) | O(k * n) | Hart | | |
77 | Längste gemeinsame Folge | C++ | O(m * n) | O(min(m, n)) | Medium | | |
79 | Längster gemeinsamer Teilstring | C++ | O(m * n) | O(min(m, n)) | Medium | | |
89 | K Summe | C++ | O(k * n * t) | O(n * t) | Hart | | |
91 | Minimale Anpassungskosten | C++ | O(k * n * t) | OK) | Medium | | |
92 | Rucksack | C++ | O(m * n) | O(m) | Einfach | | |
107 | Wortbruch | C++ | O(n * l^2) | An) | Medium | LeetCode, EPI | |
108 | Palindrom-Partitionierung II | C++ | O(n^2) | An) | Medium | LeetCode, EPI | |
109 | Dreieck | C++ | An) | An) | Einfach | LeetCode, EPI | |
110 | Minimale Pfadsumme | C++ | O(m * n) | O(min(m, n)) | Einfach | LeetCode, EPI | |
111 | Treppensteigen | C++ | O(logn) | O(1) | Einfach | LeetCode | |
115 | Einzigartige Wege II | C++ | O(m * n) | O(min(m, n)) | Einfach | LeetCode, CTCI | DP, Mathe |
118 | Eindeutige Folgefolgen | C++ | O(m * n) | O(m) | Medium | LeetCode | DP |
119 | Entfernung bearbeiten | C++ | O(m * n) | O(min(m, n)) | Medium | LeetCode, CTCI | DP |
125 | Rucksack II | C++ | O(m * n) | O(m) | Medium | | |
149 | Beste Zeit zum Kaufen und Verkaufen von Aktien | C++ | An) | O(1) | Medium | LeetCode, EPI | |
150 | Beste Zeit zum Kaufen und Verkaufen von Aktien II | C++ | An) | O(1) | Medium | LeetCode, EPI | |
151 | Beste Zeit zum Kaufen und Verkaufen von Aktien III | C++ | An) | O(1) | Medium | LeetCode, EPI | |
154 | Regulärer Ausdrucksabgleich | C++ | O(m * n) | O(m) | Hart | LeetCode | DP, Rekursion |
168 | Platzende Luftballons | C++ | O(n^3) | O(n^2) | Medium | LeetCode | |
191 | Maximales Produkt-Subarray | C++ | An) | O(1) | Medium | LeetCode | |
392 | Hausräuber | C++ | An) | O(1) | Medium | LeetCode | |
393 | Beste Zeit zum Kaufen und Verkaufen von Aktien IV | C++ | O(k * n) | OK) | Hart | LeetCode, EPI | |
395 | Münzen in einer Reihe II | C++ | An) | O(1) | Medium | | |
396 | Münzen in einer Linie III | C++ | O(n^2) | An) | Hart | | |
397 | Längste ansteigende kontinuierliche Teilsequenz | C++ | An) | O(1) | Einfach | | |
398 | Längste zunehmende kontinuierliche Teilsequenz II | C++ | O(m * n) | O(m * n) | Hart | | |
403 | Kontinuierliche Subarray-Summe II | C++ | An) | O(1) | Medium | EPI | |
430 | Scramble-String | C++ | O(n^4) | O(n^3) | Hart | LeetCode | |
435 | Postproblem | C++ | O(k * n^2) | An) | Hart | PKU 1160 | |
436 | Maximales Quadrat | C++ | O(m * n) | An) | Medium | LeetCode | |
512 | Wege entschlüsseln | C++ | An) | O(1) | Medium | LeetCode | |
513 | Perfekte Quadrate | C++ | O(n * sqrt(n)) | An) | Medium | LeetCode | |
514 | Zaun malen | C++ | An) | O(1) | Einfach | LeetCode | |
515 | Malen Sie das Haus | C++ | An) | O(1) | Medium | LeetCode | |
516 | Malerhaus II | C++ | O(n * k) | OK) | Hart | LeetCode | |
534 | Hausräuber II | C++ | An) | O(1) | Medium | LeetCode | |
564 | Rucksack VI | C++ | O(n * t) | O(t) | Medium | | |
Gierig
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
41 | Maximales Subarray | C++ | An) | O(1) | Einfach | LeetCode | |
42 | Maximales Subarray II | C++ | An) | An) | Medium | | |
44 | Minimales Subarray | C++ | An) | O(1) | Einfach | | |
45 | Maximaler Subarray-Unterschied | C++ | An) | An) | Medium | | |
116 | Sprungspiel | C++ | An) | O(1) | Medium | LeetCode | |
117 | Sprungspiel II | C++ | An) | O(1) | Medium | LeetCode | |
182 | Ziffern löschen | C++ | An) | An) | Medium | | |
187 | Tankstelle | C++ | An) | O(1) | Einfach | LeetCode | |
192 | Wildcard-Matching | C++ | O(m + n) | O(1) | Hart | LeetCode | Gierig, DP, Rekursion |
402 | Kontinuierliche Subarray-Summe | C++ | An) | O(1) | Medium | EPI | |
412 | Süßigkeiten | C++ | An) | An) | Hart | LeetCode | Gierig |
552 | Maximale Anzahl erstellen | C++ | O(k * (m + n + k)) ~ O(k * (m + n + k^2)) | O(m + n + k^2) | Hart | LeetCode | Gierig, DP |
OO-Design
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
204 | Singleton | C++ | O(1) | O(1) | Einfach | | |
208 | Überladung des Zuweisungsoperators (nur C++) | C++ | An) | O(1) | Medium | | |
496 | Spielzeugfabrik | C++ | O(1) | O(1) | Einfach | | |
497 | Formfabrik | C++ | O(1) | O(1) | Einfach | | |
498 | Parkplatz | C++ | O(n * m * k) | O(n * m * k) | Hart | CTCI | OO Design, Pimpl Idiom, Smart Pointer |
Systemdesign
# | Titel | Lösung | Zeit | Raum | Schwierigkeit | Etikett | Notiz |
---|
501 | Mini-Twitter | C++ | O(klogu) | O(t + f) | Medium | | |