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