Heim  >  Artikel  >  Java  >  So implementieren Sie eine Abfrage nach wiederholten Zahlen in einem Array in Java

So implementieren Sie eine Abfrage nach wiederholten Zahlen in einem Array in Java

不言
不言nach vorne
2018-10-23 15:14:263564Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Implementierung einer Abfrage nach wiederholten Zahlen in einem Array. Ich hoffe, dass er für Freunde hilfreich ist.

Thema 1: Finden Sie wiederholte Zahlen im Array.

Alle Zahlen in einem Array der Länge N liegen im Bereich von 0-n-1. Einige Zahlen im Array werden wiederholt, aber ich weiß nicht, wie viele Zahlen sich wiederholen Wie oft wird die Zahl wiederholt? Bitte finden Sie jede wiederholte Zahl im Array.

Lösung 1: Sortieren Sie dieses Array. Es ist sehr einfach, doppelte Zahlen aus dem sortierten Array zu finden. Scannen Sie einfach das sortierte Array von Anfang bis Ende. Das Sortieren eines Arrays der Länge N erfordert O(nLogn) Zeit.

Lösung 2: Verwenden Sie eine Hash-Tabelle, um das Problem zu lösen. Überprüfen Sie jedes Mal, wenn eine Nummer gescannt wird, ob sie in der Hash-Tabelle enthalten ist Der Algorithmus ist O(N), aber seine Zeiteffizienz geht zu Lasten einer Hash-Tabelle der Größe O(N).

Lösung 3: Wir ordnen das Array neu und scannen jede Zahl im Array von Anfang bis Ende. Wenn die Zahl mit dem Index i gescannt wird, vergleichen Sie den Wert dieser Zahl (m). Ist sie gleich i? Wenn er gleich ist, wird der Wert von m an i gezahlt. Wenn er nicht gleich ist, vergleichen Sie ihn mit dem Wert, der dem m-Index entspricht, bis alle wiederholten Werte gefunden werden.

So implementieren Sie eine Abfrage nach wiederholten Zahlen in einem Array in Java

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine Abfrage nach wiederholten Zahlen in einem Array in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen