Practice #4
الدرس 13 من 14 في دورة جداول الهاش - سلسلة هياكل البيانات #4 على Coddy.
التحدي
سهلاكتب دالة mostFrequent تستقبل مصفوفة أعداد صحيحة غير فارغة arr وتُعيد العنصر الذي يظهر بأكبر عدد من المرات.
إذا تساوى عنصران في أعلى عدد من التكرارات، فأعد العنصر الذي وصل إلى ذلك العدد أولاً (الأسبق في ترتيب المسح).
يجب عليك استخدام فئة HashMap الموفرة في hashmap.<ext> — لا تستخدم الأدوات المدمجة في اللغة مثل sets أو dicts أو maps.
جرّب بنفسك
#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;
}