سلسلة حل المشكلات (Problem Sloving) اليوم الحداشر

التحدي رقم 11 لليوم رقم 11 من رمضان

اولا
كل عام و انتم بخير و اعاده الله عليكم بالمن و بالخير و البركه
لا تنشغل بالحل كثيرا كي لا تهمل عباداتك الاصليه
و لا تنسي تجديد نيتك فأن طلب العلم عباده
لا تنسوني و اخي المعتقل سياسيا من جميل دعائكم

وصف التحدي :

**مستوي التحدي : **
متوسط برمجيا

قم بكتابة دالة اسمها: most_frequent_element تستقبل مصفوفة array من نوع integer ، تقوم الـدالة most_frequent_element بإرجاع أكثر القيم تكرارا في المصفوفة.

ملحوظه : كلمة مصفوفة يعني ليست ← [,]

ملحوظه : تقدر تحل التحدي و تتحقق من صحته من خلال الموقع هنا اهو :
موقع سلسلة حل المشكلات (Problem Sloving)
بس خد بالك لو هتحل ع الموقع لازم اسم الداله يكون زي الاسم اللي موجود في وصف التحدي

أضغط لرؤية المخرجات المتوقعة عشان تتيست الكود بتاعك

الاختبار 1
المدخلات (Inputs)
arr = [13, 2, 1, 2, 10, 2, 1, 1, 2, 2]
المخرجات (Outputs)
2

الاختبار 2
المدخلات (Inputs)
arr = [1, 2, 3, 4, 1, 5, -5, -5, -5, -5, -5, 6]
المخرجات (Outputs)
-5

الاختبار 3
المدخلات (Inputs)
arr = [1, 2, 3, 3, 3, 3]
المخرجات (Outputs)
3

الاختبار 4
المدخلات (Inputs)
arr = [0, 5, 6, 2, 1, 5]
المخرجات (Outputs)
5

حل التحدي

def most_frequent_element(arr):
    counts = {}
    for i in arr:
        if i not in counts.keys():
            counts[i] = 1
        else:
            counts[i] += 1 
        
    top = max(counts.values())
    for i in counts.keys():
        if counts[i] == top :
            return i

إعجاب واحد (1)

الحل :

def most_frequently (array): return max(set(array), key=array.count)

الحل مش معقد بالدرجه، فمعملتش نسخة اسهل للقراءة

إعجابَين (2)

إعجابَين (2)

تمام بس في حل المشكلات يستحسن تحله ببايثون العاديه بدون مكتبات او لو اضطريت للمكتبات يبقي استخدم المكتبات الاصليه في اللغه زي راندوم كدا و لكن علي كل الحل صحيح يعني

3 إعجابات

ألف شكر علي النصيحة و إن شاء الله اجتهد اكتر في المشاكل القادمة

إعجابَين (2)