Menu
CoddyTech

Leaders in an Array

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

الدالة

leaders(nums: integer-array) → integer-array
numsinteger-array
مصفوفة الأعداد الصحيحة المراد البحث فيها
تُرجعinteger-array
العناصر القائدة في nums، من اليسار إلى اليمين

القيود

  • 1 ≤ nums.length ≤ 25000
  • -109 ≤ nums[i] ≤ 109

أمثلة

المدخلات
nums = [12, 5, 9, 3, 6, 2]
المخرجات
[12, 9, 6, 2]
الشرح
العدد 2 هو الأخير، لذا يتصدر. العدد 6 يتغلب على العدد 2 الذي يليه، والعدد 9 يتغلب على 3 و6 و2، والعدد 12 يتغلب على الجميع. العدد 5 يخسر أمام 9، والعدد 3 يخسر أمام 6، لذا فالإجابة هي [12, 9, 6, 2].
challenge icon

سؤال إضافي

إذا وصلت القيم واحدة تلو الأخرى، وكان عليك بعد كل قيمة الإبلاغ عن القيم المتصدرة حتى الآن، فكيف تحدّث القائمة في زمن O(1) مُستهلك لكل قيمة؟

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

اختبار #1

اختبار #2

اختبار #3

وسيط

nums = [12, 5, 9, 3, 6, 2]

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

[12, 9, 6, 2]