Menu
CoddyTech

Median of Two Sorted Arrays

تحصل على قائمتين من الأعداد الصحيحة، nums1 وnums2، وكلتاهما مرتبة من الأصغر إلى الأكبر وتحتويان على قيمة واحدة على الأقل. أعد وسيط جميع القيم فيهما معًا، كنص.

إذا كان العدد الإجمالي فرديًا، فالوسيط هو القيمة الوسطى، مثل "4". وإذا كان العدد زوجيًا، فهو متوسط القيمتين الوسطيتين، مثل "2.5" أو "-0.5". اكتب العدد الصحيح من دون فاصلة عشرية، واكتب الصفر على صورة "0"، وليس أبدًا "-0". اسعَ إلى تحقيق زمن قدره O(log(min(m, n))).

الدالة

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
القائمة الأولى، مرتبة من الأصغر إلى الأكبر
nums2integer-array
القائمة الثانية، مرتبة من الأصغر إلى الأكبر
تُرجعstring
الوسيط لجميع القيم، كنص مثل "4" أو "-2.5"

القيود

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • كلتا القائمتين مرتبتان بترتيب غير تنازلي، وقد تتكرر القيم.

أمثلة

المدخلات
nums1 = [1, 4]nums2 = [2, 7, 9]
المخرجات
"4"
الشرح
القيم معًا هي 1، 2، 4، 7، 9. للقيم الخمس قيمة وسطى واحدة، وهي الثالثة، وتساوي 4.
challenge icon

سؤال إضافي

هل يمكنك استخدام القطع نفسه لإيجاد القيمة رقم k من الأصغر في القائمتين، لأي k، في زمن لوغاريتمي؟

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

اختبار #1

اختبار #2

اختبار #3

الوسائط

nums1 = [1, 4]
nums2 = [2, 7, 9]

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

"4"