المسارات
/
Unison
Unison
/
التمارين
/
عنصر الأغلبية
عنصر الأغلبية

عنصر الأغلبية

متوسط

التعليمات

أُوكلت إليك مهمة تحديد ما إذا كان هناك لون حلوى في كيس يمثّل النصيب الأكبر من الكيس. 🍬 عنصر الأغلبية هو الذي يشغل أكثر من نصف المساحة في مجموعة ما. عند إعطائك قائمة من العناصر تمثّل الألوان، أرجِع اللون الذي وُجد كأغلبية، وإلا فأشِر إلى أنه لم يتم العثور على أغلبية.

بالنسبة لقائمة بسيطة، [Red, Red, Blue, Red, Green]، يجب أن تكون القيمة المُرجَعة هي Red لأن Red يتكرر 3 مرات من أصل قائمة من 5 عناصر. ولكن بالنسبة لقائمة [Red, Red, Blue, Green]، لا توجد أغلبية رغم أن Red هو العنصر الأكثر شيوعًا، لأن 2/4 ليس أكبر من نصف العناصر.

التنفيذ

  • نقاط إضافية: هل يمكنك تعميم تنفيذك ليجد العنصر الأغلب في أي نوع من List؟
  • نقاط إضافية: هل يتمتع تنفيذك بأداء جيد إذا كان هناك كثير من العناصر المختلفة للاختيار من بينها عند البحث عن العنصر الأغلب؟
  • بينما يمكنك تنفيذ دالة majorityFinder بالطريقة التي تختارها، فقد وفّرنا لك بعض الهياكل التي تستخدم قدرة MyStore. (قدرة MyStore هي نفسها Store من المكتبة القياسية، لكننا هنا أعطيناها اسمًا مختلفًا قليلًا لتفادي الالتباس.) ستحتاج إلى تنفيذ معالج runWith إذا اخترت استخدام هذه القدرة. تُرجع runWith كلاً من نتيجة تشغيل الدالة التي تستخدم قدرة MyStore والحالة النهائية لـ MyStore.
  • يمكنك قراءة المزيد عن كيفية تتبّع معالجات القدرات للحالة في توثيق معالجات القدرات.
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Unison Exercism

مستعد لبدء عنصر الأغلبية؟

سجّل في Exercism لتتعلّم وتتقن Unison عبر 53 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.