Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben

Hbx8x

Aktives Mitglied
Hey, ich möchte gerne ein Programm schreiben welches vom einem beliebigen array, das größte duplikat anzeigt.

zb wäre es bei {1,5,2,2,9,9,14,3,20,5,20}

20.

Meine Idee:

Ich unterteile das Problem in zwei Teilprobleme:

1) Das array ist vom kleinsten bis zum größten Wert zu sortieren. Hier kann man quicksort oder bubblesort nutzen.
2) Eine Methode die zwei gleiche Paare in einem array findet kann man wie folgt realisieren. Man durchläuft das array mit zwei verschiedenen for-schleifen, wobei wenn array[zählvariable_von_forschleife1]==array[zählvariable_von_forschleife2] gilt, kann ein true zurückgegeben werden.

Wie gibt man aber nun das maximale Duplikat zurück ?
 

mihe7

Top Contributor
2) eine Schleife reicht.
Java:
for (int i = 0; i < array.length-1; i++) {
    if (array[i] == array[i+1]) {
        return array[i];
    }
}
throw new IllegalArgumentException("Array ohne Duplikate gegeben");
 

Hbx8x

Aktives Mitglied
Ja und wie gebe ich dann aber nur das größte duplikat aus ? Ich glaube hierfür brauche ich eine doppelte for-Schleife.

Die erste for-schleife überprüft das bereits sortierte Array auf Duplikate nach zb. dem Code wie es mihe7 beschrieben hat. Die zweite for-Schleife muss nun von den gefundenen Duplikaten nur das größte ausgeben. Sozusagen ein Array aus dem Array erstellen. Klingt aber nicht sehr schlau...
 

lennero

Bekanntes Mitglied
Ja und wie gebe ich dann aber nur das größte duplikat aus ? Ich glaube hierfür brauche ich eine doppelte for-Schleife.

Die erste for-schleife überprüft das bereits sortierte Array auf Duplikate nach zb. dem Code wie es mihe7 beschrieben hat. Die zweite for-Schleife muss nun von den gefundenen Duplikaten nur das größte ausgeben.

Wo steht denn das größte Duplikat wenn dein Array sortiert ist?

Geh das Array rückwärts durch und gib a aus falls a == a[i - 1]
 

Hbx8x

Aktives Mitglied
Noch eine Frage, da es mihe7 erwähnt hat.

,,Wenn das Array nach Größe absteigend sortiert ist, dann ist das erste Duplikat das größte." Man kann das realisieren in dem man den bubblesort bzw quicksort Code einfach ändert, indem man die for-Schleifen bei array.lenght-1 beginnend anfängt und dann i-- bzw. j-- als Zählerschritt wählt oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
A Mit Rekursion Zufallszahlen erstellen und größte finden Java Basics - Anfänger-Themen 5
kilopack15 Größte zahl eines Arrays finden Java Basics - Anfänger-Themen 1
J In einem Array die größte Zahl ermitteln und Faktorisieren. Java Basics - Anfänger-Themen 5
J größte eingelesene Zahl ausgeben lassen Java Basics - Anfänger-Themen 12
C Felder(Größte Zahl, Index) Java Basics - Anfänger-Themen 6
T Größte und 2. Größte zahl Addieren Java Basics - Anfänger-Themen 29
A Bitte! This ist wohl das größte Hindernis in Java Java Basics - Anfänger-Themen 19
G Rekursiv die größte Zahl eines Arrays Java Basics - Anfänger-Themen 6
O Größte zahl aus array ermitteln Java Basics - Anfänger-Themen 6
M Files löschen - alle, ausser das größte! Java Basics - Anfänger-Themen 3
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
D Sortiertes Array mischen ohne Duplikat Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben