www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Java" - Häufigste Zahl in einem Array
Häufigste Zahl in einem Array < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Häufigste Zahl in einem Array: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:27 Sa 03.05.2008
Autor: wolle238

Moin,

ich bin grad auf der Suche nach einer einfachen Lösung für eine Methode, der ich ein INT Array übergebe und die mir dann die am häufigsten vorkommende Zahl zurückgibt. Ich kriegs nur hin wenn ich vorher das komplette Array sortiere aber es soll wohl auch mit wesentlich geringerem Aufwand möglich sein. Jemand einen Tipp für mich?

MfG
Wolle

        
Bezug
Häufigste Zahl in einem Array: Antwort
Status: (Antwort) fertig Status 
Datum: 09:47 Sa 10.05.2008
Autor: bamm

Hallo,
nur mal so als Idee ohne Sortieren(ob das wirklich schneller ist, müsste man halt mal eine Laufzeitabschätzung durchführen...): Du legst ein zweites Array an in dem die Häufigkeiten der Zahlen gespeichert werden und eine int Variable, in der der die aktuell am häufigsten vorkommende Zahl gespeichert wird (hier high genannt). Dann läufst du durch dein Eingabe Array durch und erhöhst jeweils in deinem zweiten Array den Eintrag für diese Zahl um 1, also z.B. haeuf[zahl] = haeuf[zahl] + 1. Dann vergleichst du noch ob der Wert von haeuf[zahl] > haeuf[high] ist. Falls ja, ersetzt du den Wert in high mit high = zahl. Das ganze erfordert dann für jede Zahl im Eingabearray einen Array Zugriff und einen Vergleich (und ggf. noch einen Ersetzungsschritt für high). Sollte also wenn ich mich nicht täusche in O(n) Zeit ablaufen.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]