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

Meeting Rooms II

لديك قائمة بالاجتماعات ممثلة بمصفوفتين: يمتد الاجتماع i من starts[i] إلى ends[i]. تستوعب الغرفة اجتماعًا واحدًا في كل مرة، ويمكن أن يبدأ اجتماع في غرفة في اللحظة نفسها التي ينتهي فيها اجتماع آخر فيها.

اكتب دالة باسم minMeetingRooms تُرجع أصغر عدد من الغرف التي يمكنها استيعاب جميع الاجتماعات.

الدالة

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
وقت بدء كل اجتماع
endsinteger-array
وقت انتهاء كل اجتماع، عند الفهرس نفسه الذي يبدأ فيه
تُرجعinteger
أقل عدد من الغرف التي يمكنها استيعاب جميع الاجتماعات

القيود

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • الاجتماعات غير مرتبة. قد يكون اجتماعان متطابقين.

أمثلة

المدخلات
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
المخرجات
3
الشرح
في الوقت 4، تكون الاجتماعات من 1 إلى 5، ومن 2 إلى 6، ومن 4 إلى 8 جاريةً جميعها، لذا تحتاج إلى 3 غرف على الأقل. ثلاث غرف تكفي: فالاجتماع من 7 إلى 9 يشغل الغرفة التي تصبح شاغرة عند 5.

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

challenge icon

سؤال إضافي

هل يمكنك أيضًا تحديد الغرفة التي يُعقد فيها كل اجتماع، باستخدام عدد من الغرف لا يتجاوز الإجابة؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

starts = [4, 1, 7, 2]
ends = [8, 5, 9, 6]

المتوقع

3