Menu
CoddyTech
flag Ar iconالعربيةdown icon

Merge Sorted Array

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

الدالة

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
المصفوفة المرتبة الأولى
nums2integer-array
المصفوفة المرتبة الثانية
تُرجعinteger-array
جميع قيم المصفوفتين في مصفوفة واحدة مرتبة، بطول يساوي nums1.length + nums2.length

القيود

  • 1 ≤ nums1.length, nums2.length ≤ 2000
  • -105 ≤ nums1[i], nums2[j] ≤ 105
  • تم ترتيب كلٍّ من nums1 وnums2 بترتيب غير تنازلي.

أمثلة

المدخلات
nums1 = [1, 4, 9]nums2 = [2, 3, 10]
المخرجات
[1, 2, 3, 4, 9, 10]
الشرح
اقرأ العنصرين في المقدمة واحتفظ بالأصغر: 1، ثم 2 و3 من nums2، ثم 4 و9 من nums1، وأخيرًا 10. تحتوي النتيجة على القيم الست كلها.

lock icon+13 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

هل يمكنك دمج k مصفوفات مرتبة، تحتوي على N قيمة إجمالًا، في زمن O(N log k)؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

nums1 = [1, 4, 9]
nums2 = [2, 3, 10]

المتوقع

[1, 2, 3, 4, 9, 10]