תרגול #4
שיעור 13 מתוך 14 בקורס טבלאות גיבוב – סדרת מבני נתונים #4 של Coddy.
אתגר
קלכתבו פונקציה mostFrequent שמקבלת מערך מספרים שלמים לא ריק arr ומחזירה את האיבר שמופיע בתדירות הגבוהה ביותר.
אם שני איברים שווים בספירה הגבוהה ביותר, החזירו את האיבר שהגיע לספירה הזאת ראשון (בסדר הסריקה).
חובה להשתמש במחלקה HashMap שסופקה בקובץ hashmap.<ext> — אין להשתמש במבנים מובנים בשפה, כמו קבוצות, מילונים או מפות.
נסו בעצמכם
#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;
}
כל השיעורים ביחידה טבלאות גיבוב – סדרת מבני נתונים #4
תרגלו בעצמכם: קומפיילר C אונליין