Menu
CoddyTech

Majority Element

لديك مصفوفة من الأعداد الصحيحة nums طولها n. تظهر إحدى القيم فيها أكثر من n / 2 مرة، وتُسمّى هذه القيمة عنصر الأغلبية. أعدها. القيمة التي تظهر أكثر من نصف مرات عناصر المصفوفة تكون دائمًا فريدة، لذا توجد إجابة واحدة بالضبط.

الدالة

majorityElement(nums: integer-array) → integer
numsinteger-array
مصفوفة الأعداد الصحيحة، حيث تشغل قيمة واحدة أكثر من نصفها
تُرجعinteger
القيمة التي تظهر أكثر من n / 2 مرة

القيود

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • تظهر قيمة واحدة أكثر من nums.length / 2 مرة.

أمثلة

المدخلات
nums = [3, 9, 3, 3, 4]
المخرجات
3
الشرح
يظهر الرقم 3 ثلاث مرات ضمن خمسة عناصر. العدد ثلاثة أكبر من 5 / 2 = 2.5، ويظهر كل من 9 و4 مرة واحدة.
challenge icon

سؤال إضافي

هل يمكنك العثور على كل قيمة تظهر أكثر من n / 3 مرة، في زمن O(n) وبذاكرة إضافية O(1)؟

إعادة ضبط الشيفرة
def majorityElement(nums):
    # اكتب الكود هنا

اختبار #1

اختبار #2

وسيط

nums = [3, 9, 3, 3, 4]

الإخراج المتوقع

3