Alle Herausforderungen
Mittel 0 gelöst 0% Erfolgsquote

Bester Schüler im Notenbuch

Finde den Schüler mit dem höchsten Durchschnittswert.

Das lernst du

  • Jede Punktezeile mitteln
  • Den besten Schüler finden
  • Gleichstände einheitlich auflösen

Problem

Jede Zeile von scores enthält die Testergebnisse eines Schülers. Berechne den Durchschnitt jedes Schülers mit einer Hilfsfunktion und gib den Zeilenindex des Schülers mit dem höchsten Durchschnitt zurück. Bei Gleichstand gib den kleinsten Index zurück.

Implementiere top_student(scores).

Eingabe

scores: Eine Zeile mit Ergebnissen pro Schüler; jede Zeile enthält mindestens ein Ergebnis.

Ausgabe

Gib den Index des besten Schülers zurück.

Einschränkungen

1 ≤ Schüler ≤ 1.000; 1 ≤ Ergebnisse pro Schüler ≤ 100; 0 ≤ Ergebnis ≤ 100

Beispiele

Beispiel 1
Eingabe:
scores = [
    [80, 90],
    [95, 85],
    [70, 100]
]

Erwartete Ausgabe:
expected = 1
Eingabe:
std::vector<std::vector<long long>> scores = {
    {80, 90},
    {95, 85},
    {70, 100}
};

Erwartete Ausgabe:
long long expected = 1;
Eingabe:
long[][] scores = new long[][] {
    new long[] {80, 90},
    new long[] {95, 85},
    new long[] {70, 100}
};

Erwartete Ausgabe:
long expected = 1;

Erläuterung

Die Durchschnitte sind 85, 90 und 85, also hat Schüler 1 den höchsten Durchschnitt.

Beispiel 2
Eingabe:
scores = [
    [60],
    [60, 60]
]

Erwartete Ausgabe:
expected = 0
Eingabe:
std::vector<std::vector<long long>> scores = {
    {60},
    {60, 60}
};

Erwartete Ausgabe:
long long expected = 0;
Eingabe:
long[][] scores = new long[][] {
    new long[] {60},
    new long[] {60, 60}
};

Erwartete Ausgabe:
long expected = 0;

Erläuterung

Beide Durchschnitte sind 60; bei Gleichstand gewinnt der kleinere Index, also 0.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Vergleiche Studenten nach ihrem Durchschnitt, nicht nach einem einzelnen Test.

Hinweis 2

Berechne den Durchschnitt jeder Zeile und merke dir den bisher besten Index.

Hinweis 3

Bei Gleichstand beim Durchschnitt bleibt der frühere Student stehen.

Erwartete Komplexität

Zeit O(total scores), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.