- Verwenden zwei Schleifen Hashing
O(n^2)
Zeit dauern wird,
- Verwenden Sie das Sortieren und binäre Suche wird
O(nlog n)
Zeit
- Gebrauch nehmen Sortieren und Mischen
O(nlog n)
Zeit
- Verwendung Hashing
O(k * n)
Zeit mit einem anderen Overhead und zusätzlichem Platz nehmen.
- Verwenden Kollektionen api nimmt
O(n^2)
Zeit als seine Verwendung nativer Algorithmus unter der Haube
Sie es zusammen mit der Art und Weise optimal tun können mit Knuth–Morris–Pratt algorithm in linearer O(n + m)
Zeitkomplexität oben erwähnt, wo n
und m
sind die Längen der beiden Arrays.
KMP-Algorithmus ist im Grunde ein Muster-Matching-Algorithmus (die Startposition einer Nadel im Heuhaufen zu finden), der auf Zeichenkette funktioniert. Aber Sie können es einfach für Integer-Array verwenden.
Sie können einige Benchmark-Tests für alle diese Implementierungen durchführen und wählen, welche für Ihre Anforderungen effizient genug ist.
Probieren Sie es aus und Benchmark sie? Obwohl ich sagen würde, dass derjenige, der den geringsten Code erfordert, oft der beste ist. – UnholySheep