Menu
CoddyTech

Chocolate Distribution Problem

Du hast einige Schokoladenpakete, und packets[i] gibt die Anzahl der Schokoladenstücke im Paket i an. Jede:r von m Schüler:innen erhält genau ein Paket, sodass m verschiedene Pakete ausgegeben werden. Wähle sie so aus, dass die Differenz zwischen dem größten und dem kleinsten ausgegebenen Paket so klein wie möglich ist.

Schreibe eine Funktion namens minDifference, die diese kleinstmögliche Differenz zurückgibt.

Funktion

minDifference(packets: integer-array, m: integer) → integer
packetsinteger-array
die Anzahl der Schokoladenstücke in jeder Packung
minteger
die Anzahl der Schüler, von denen jeder ein Paket erhält
Gibt zurückinteger
die kleinstmögliche Differenz zwischen dem größten und dem kleinsten ausgeteilten Paket

Einschränkungen

  • 2 ≤ m ≤ packets.length ≤ 104
  • 1 ≤ packets[i] ≤ 105
  • Zwei Packungen können die gleiche Anzahl an Pralinen enthalten.

Beispiele

Eingabe
packets = [9, 3, 15, 7, 11, 4]m = 3
Ausgabe
4
Erklärung
Sortiert lauten die Pakete 3, 4, 7, 9, 11 und 15. Sowohl 3, 4, 7 als auch 7, 9, 11 ergeben eine Differenz von 4, und keine drei Pakete liegen näher beieinander.
Code zurücksetzen
def minDifference(packets, m):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

4