Ziel
Dano N Meißel. Finden Sie das zweitgrößte maximale Sequenzelement.Diese Aufgabe ermöglicht zwei Interpretationen.
Wie, wenn wir eine Reihe von Zahlen bekommen:
- Ja.Was ist die Antwort?
Durch "das zweitgrößte Element" oder einfach "das zweite Maximum" können Sie verstehen:
(1) Der Wert, der an der vorletzten Stelle wäre, wenn wir alle Bedeutungen auf der Standardeinstellung (je mehr oder gleich der vorherigen) gesetzt (verschieden) hätten. Die Antwort wäre dann 35 für den Auswahlprozess;
(2) der Wert des Elements, der größer als das Maximum ist. Dann ist die Antwort 20.
Wenn es nur ein maximales Element in der Reihe der Zahlen (alle andere als die andere), überschneiden sich beide Interpretationen und die Antwort wird für beide Fälle gleich sein, andernfalls wird die Antwort anders sein.
Mal sehen.
Pseudocid)
Zwei Variablen werden verwendet, um die Antwort zu finden:
(1)
максимум1
Maximaler Wert (erstes Maximum)
(2)
максимум2
- Zweite max.
Ist der Änderungsbereich bekannt, so wird als Ausgangswerte (z.B. in einem Bereich von
-1000
vor
1000
- Nimm die Nummer.
-1001
)
Ist der Bereich nicht bekannt, so können die ersten beiden Eingangszahlen in den Ausgangsgrößen aufgezeichnet werden.
максимум1
und
максимум2
und dann diese beiden Variablen vergleichen.
Einführung N // Anzahl der Nummern
Einführung a, b
Maximal 1 = a
Maximal 2 = b
Wenn Lüftung a,
Maximal 1 = b
maximal2 = a
Als nächstes werden alle anderen Elemente berücksichtigt (die ersten beiden haben bereits geschaut, also beginnen wir mit dem 3.)
für i von 3 bis n
Einleitung
wenn ein Entlüftungsmaximum1 // größer ist 1
♪
Maximum2 = Maximum1 / ehemalige erste max
Maximum1 = a / erstes Maximum
Andere
/ Wechselelement höchstens 1
/ sie wird mit dem Maximum verglichen2
wenn eine Zeile maximal 2
♪
Maximum2 = a / akzeptieren Sie es als neues Maximum 2
/ max1 in diesem Fall
Alle
Alle
Knospen
Versuchen Sie diesen Algorithmus auf eigene Faust.