Java Wie erhalte ich den Index des größten Wertes eines Arrays?

Status
Für weitere Antworten geschlossen.

Rucki

Cadet 4th Year
Registriert
Apr. 2007
Beiträge
94
[Erledigt] Wie erhalte ich den Index des größten Wertes eines Arrays?

Hallo,

eine kleine Anfängerfrage. Ich komm gerade nicht drauf:

Von einem int Array 'Score' bräuchte ich den Index 'i', in dem der größte Wert vorkommt.

Wisst ihr wie ich das realisieren kann?

Vielen Dank!

Beste Grüße,
Rucki
 
Zuletzt bearbeitet: (gelöst)
Lösungsansatz:
Du brauchst zwei Hilfsvariablen. Eine speichert den größten bisher gefundenen Wert, und die andere den Index, wo dieser Wert gefunden wurde...

Fertige Lösung:
PHP:
public int getBiggestElementIndex(int[] array) {
	if (array == null) {
		throw new IllegalArgumentException("array == null!");
	}
	if (array.length == 0) {
		return -1;
	}
	int curMax = array[0];
	int curIndex = 0;

	for (int i = 1; i < array.length; i++) {
		if (array[i] > curMax) {
			curMax = array[i];
			curIndex = i;
		}
	}
	return curIndex;
}
 
Zuletzt bearbeitet:
Wow! Das ging ja schnell!

Vielen Dank! Echt toll wie gut hier einem geholfen wird! :)
 
Hallo Rucki,

mal ein wenig pseudo code:

Code:
tempVar var = 0;
tempIndex index = 0;
for(i < array.Length)
{
  if(array[i] > var)
{
     var = array[i];
     index = i;
}
}

was unter Umständen natürlich teuer werden könnte :). Gibt noch weitere Lösungen, das ist eine Simple die Dir hoffentlich weiterhilft ;).

//kalleberlin
 
@kalleberlin
Damit berücksichtigst du keine Arrays, die ausschließlich negative Werte beinhalten. Ist dir sicherlich klar, ich wollte es nur erwähnt haben, damit niemand einfach Codeschnippsel kopiert :)
 
Zuletzt bearbeitet: (Rechtschreibung)
Je nach Programmiersprache kannst das Array auch einfach sortien lassen und dann den ersten oder letzten Wert nehmen.

Bei Java einfach mit Arrays.sort(ab);
 
Zuletzt bearbeitet:
Sortieren dauert im best case immer n * log(n), im worst case n^2 (im Falle von Java).
Die von uns vorgestellte Variante läuft sowohl im best wie auch worst case mit n...
 
Killkrog schrieb:
Sortieren dauert im best case immer n * log(n), im worst case n^2 (im Falle von Java).
Die von uns vorgestellte Variante läuft sowohl im best wie auch worst case mit n...

Nope, Bestcase geht auch in O(n) , aber Average stimmt n * log(n)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben