Tous les défis
Moyen 0 résolus 0 % de réussite

Gradebook Top Student

Find the student with the highest average score.

Ce que vous allez apprendre

  • Faire la moyenne de chaque ligne de notes
  • Trouver le meilleur élève
  • Départager les égalités de façon cohérente

Problème

Each row of scores holds one student's test scores. Compute each student's average with a helper function and return the row index of the student with the highest average. If several tie, return the smallest index.

Implement top_student(scores).

Input

scores: One row of scores per student; every row has at least one score.

Output

Return the index of the top student.

Contraintes

1 ≤ students ≤ 1,000; 1 ≤ scores per student ≤ 100; 0 ≤ score ≤ 100

Exemples

Exemple 1
Entrée :
scores = [
    [80, 90],
    [95, 85],
    [70, 100]
]

Sortie attendue :
expected = 1
Entrée :
std::vector<std::vector<long long>> scores = {
    {80, 90},
    {95, 85},
    {70, 100}
};

Sortie attendue :
long long expected = 1;
Entrée :
long[][] scores = new long[][] {
    new long[] {80, 90},
    new long[] {95, 85},
    new long[] {70, 100}
};

Sortie attendue :
long expected = 1;

Explication

Averages are 85, 90 and 85, so student 1 has the highest average.

Exemple 2
Entrée :
scores = [
    [60],
    [60, 60]
]

Sortie attendue :
expected = 0
Entrée :
std::vector<std::vector<long long>> scores = {
    {60},
    {60, 60}
};

Sortie attendue :
long long expected = 0;
Entrée :
long[][] scores = new long[][] {
    new long[] {60},
    new long[] {60, 60}
};

Sortie attendue :
long expected = 0;

Explication

Both averages are 60; the tie goes to the smaller index, 0.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Compare les étudiants par leur moyenne, pas sur une seule note.

Indice 2

Calcule la moyenne de chaque ligne et garde l’index du meilleur vu jusqu’ici.

Indice 3

En cas d’égalité, conserve l’étudiant précédent au lieu de le remplacer.

Complexité attendue

temps O(total scores), espace supplémentaire O(1)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.