Menu
Coddy logo textTech

Practice #4

Lektion 13 von 14 im Kurs Hash-Tabellen – Datenstrukturen-Serie #4 von Coddy.

challenge icon

Aufgabe

Einfach

Schreiben Sie eine Funktion mostFrequent, die ein nicht-leeres Ganzzahl-Array arr erhält und das Element zurückgibt, das am häufigsten vorkommt.

Wenn zwei Elemente die gleiche höchste Anzahl aufweisen, geben Sie dasjenige zurück, das diese Anzahl zuerst erreicht hat (früheste Position in der Scan-Reihenfolge).

Sie müssen die Klasse HashMap verwenden, die in hashmap.<ext> bereitgestellt wird — verwenden Sie keine in der Sprache integrierten Funktionen wie Sets, Dicts oder Maps.

Probier es selbst

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"

int main() {
    char line[8192];
    if (!fgets(line, sizeof(line), stdin)) line[0] = '\0';
    int arr[4096];
    int n = 0;
    char* tok = strtok(line, " \t\r\n");
    while (tok) { arr[n++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
    int r = mostFrequent(arr, n);
    printf("%d\n", r);
    return 0;
}

Alle Lektionen in Hash-Tabellen – Datenstrukturen-Serie #4