Menu
CoddyTech

Chocolate Distribution Problem

لديك بعض عبوات الشوكولاتة، ويمثل packets[i] عدد قطع الشوكولاتة في العبوة i. يحصل كل طالب من بين m طلاب على عبوة واحدة بالضبط، لذلك ستُوزَّع m عبوات مختلفة. اخترها بحيث يكون الفرق بين أكبر عبوة وأصغر عبوة من العبوات الموزعة أقل ما يمكن.

اكتب دالة باسم minDifference تُرجع أصغر فرق ممكن.

الدالة

minDifference(packets: integer-array, m: integer) → integer
packetsinteger-array
عدد قطع الشوكولاتة في كل عبوة
minteger
عدد الطلاب، يحصل كلٌّ منهم على حزمة واحدة
تُرجعinteger
أصغر فرق ممكن بين أكبر وأصغر طرد يتم توزيعه

القيود

  • 2 ≤ m ≤ packets.length ≤ 104
  • 1 ≤ packets[i] ≤ 105
  • يمكن أن تحتوي عبوتان على العدد نفسه من قطع الشوكولاتة.

أمثلة

المدخلات
packets = [9, 3, 15, 7, 11, 4]m = 3
المخرجات
4
الشرح
بعد الترتيب، تصبح الحزم 3 و4 و7 و9 و11 و15. تعطي كل من 3 و4 و7 و7 و9 و11 فرقًا مقداره 4، ولا توجد ثلاث حزم أقرب إلى بعضها.
إعادة ضبط الشيفرة
def minDifference(packets, m):
    # اكتب الشيفرة هنا

اختبار #1

اختبار #2

اختبار #3

الوسائط

packets = [9, 3, 15, 7, 11, 4]
m = 3

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

4