Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Practice #4

الدرس 13 من 14 في دورة جداول الهاش - سلسلة هياكل البيانات #4 على Coddy.

challenge icon

التحدي

سهل

اكتب دالة 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;
}

جميع دروس جداول الهاش - سلسلة هياكل البيانات #4