Menu
CoddyTech

Kth Largest Element in an Array

لديك مصفوفة من الأعداد الصحيحة nums وعدد صحيح k. أَعِد القيمة الأكبر رقم k في nums: القيمة في الموضع k، عند العد بدءًا من 1، بعد ترتيب المصفوفة من الأكبر إلى الأصغر.

تُحتسب القيم المتساوية كلٌّ على حدة. في [5, 5, 1] تكون أكبر قيمة هي 5، وثاني أكبر قيمة هي أيضًا 5.

الدالة

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
القيم المطلوب ترتيبها
kinteger
أيّ أكبر قيمة تُعاد، و1 تعني الأكبر
تُرجعinteger
القيمة الأكبر رقم k، مع احتساب القيم المكررة

القيود

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • تُعَدّ القيم المتساوية قيمًا منفصلة.

أمثلة

المدخلات
nums = [7, 2, 9, 4, 9, 1]k = 2
المخرجات
9
الشرح
من الأكبر إلى الأصغر، القيم هي 9, 9, 7, 4, 2, 1. يُحتسب العددان 9 كلٌّ على حدة، لذا فإن ثاني أكبر قيمة هي 9، وليست 7.
challenge icon

سؤال إضافي

تصل القيم الآن واحدة تلو الأخرى. هل يمكنك الإبلاغ عن وسيط جميع القيم التي وصلت حتى الآن بعد كل وصول، في زمن O(log n) لكل قيمة؟

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

اختبار #1

اختبار #2

اختبار #3

الوسائط

nums = [7, 2, 9, 4, 9, 1]
k = 2

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

9