math.max javascript

Simonnnn

Cadet 4th Year
Registriert
Jan. 2019
Beiträge
74
Hallo, ich arbeite zurzeit an einem programm bei dem ich folgendes problem habe:
Ich habe eine undefinierte Anzahl an zahlen:
Code:
const zahl = []
zahl[0] = 234
zahl[1] = 12
zahl[2] = 21234
zahl[3] = 11222
und muss davon die größte bestimmen.

Ich habe keine idee wie ich das schreiben soll wenn nicht definiert ist wie viele zahlen es gibt. Gibt es da eine möglichkeit?

Danke jetzt schonmal.

VG Simon
 
Schleife ueber das Array?!

@new Account() das ist zu einfach, ich finde er sollte auch den "klassischen" Weg kennen, das ist logisches und strukturiertes Denken
 
  • Gefällt mir
Reaktionen: floTTes
Kann man so ein Array nicht einfach absteigend sortieren lassen? Die größte Zahl befindet sich dann immer in zahl[0].
 
@new Account() Hm, moeglich. Ich dachte eher, er erkennt einfach nicht dass man wie in vielen Sprachen
einfach so was wie
max = Math.max(max, zahl[i]) fuer i < laenge vom array macht.

Aber ist mir auch recht. Wenn ihm das reicht, alles gut.

@Woodz sicher, aber wozu? Warum n log n wenn du linear das Maximum rausbekommst?
 
  • Gefällt mir
Reaktionen: floTTes
Mir stellt sich die Frage wo du, Simonnnn, genau aussteigst. Einfach die Lösung zu kopieren, wird dir nicht helfen. Vor allem, da man den Spread-Operator mit Bedacht einsetzen muss.

Du definierst zahl als einen Array. Arrays haben die Eigenschaft length.

Damit könntest du über den Array iterieren und die größere Zahl von n und n+1 mit einem einfachen Operator-Vergleich herausfinden. (Denke bitte an die Initialisierung bei der ersten Iteration.)

Auch wenn deine Lösung natürlich schön aussieht, new Account(). Ich finde, abcddcba hat schon recht damit, dass das Verständnis sinnvoll ist.

Als wir "Programmieren 1" mit Java hatten, anno 2011, und ich später mit JavaScript rumdokterte, gab's noch gar keinen Spread-Operator. Da merkt man mal wie schnell man ohne Übung auf's Abstellgleis fährt! :freak:
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: new Account()
Bei dem Einsatz des spread Operator oder apply kann der Aufruf fehlschlagen oder ein ungültiges Ergebnis herauskommen, wenn das Array zu viele Elemente hat.

Vielleicht ist doch Sortieren / Durchlaufen des Arrays sinnvoll, wenn die Anzahl der Elemente nicht definiert ist ...

Simonnnn schrieb:
Ich habe keine idee wie ich das schreiben soll wenn nicht definiert ist wie viele zahlen es gibt.
 
  • Gefällt mir
Reaktionen: floTTes
... wenn ich nicht weiß, welchen Inhalt eine Variable haben wird, wie kann sie dann konstant sein?

ps, nur zur Vergegenwärtigung, wenn das Maxi interessant genug ist, dann kann man auch eine Datenstruktur für max() in O(1) implementieren. Die Frage ist natürlich, ob sich das lohnt und ich denke nicht, daß der TO viel mit Laufzeitmodellen anfangen kann.
 
Da fehlen einem die Worte... ich glaub ich bin zu alt für so eine Logik.

Danke Dir für den Link.
 
Zurück
Oben