Menu
CoddyTech

Chocolate Distribution Problem

Masz kilka paczek czekoladek, a packets[i] to liczba czekoladek w paczce i. Każdy z m uczniów dostaje dokładnie jedną paczkę, więc rozdajesz m różnych paczek. Wybierz je tak, aby różnica między największą a najmniejszą z rozdanych paczek była jak najmniejsza.

Napisz funkcję o nazwie minDifference, która zwraca tę najmniejszą możliwą różnicę.

Funkcja

minDifference(packets: integer-array, m: integer) → integer
packetsinteger-array
liczba czekoladek w każdej paczce
minteger
liczba uczniów, z których każdy otrzymuje jedną paczkę
Zwracainteger
najmniejsza możliwa różnica między największą a najmniejszą paczką, które zostały rozdane

Ograniczenia

  • 2 ≤ m ≤ packets.length ≤ 104
  • 1 ≤ packets[i] ≤ 105
  • Dwie paczki mogą zawierać taką samą liczbę czekoladek.

Przykłady

Wejście
packets = [9, 3, 15, 7, 11, 4]m = 3
Wyjście
4
Wyjaśnienie
Po posortowaniu paczki mają wartości 3, 4, 7, 9, 11 i 15. Zarówno 3, 4, 7, jak i 7, 9, 11 dają różnicę 4 i żadne trzy paczki nie są bliżej siebie.
Zresetuj kod
def minDifference(packets, m):
    # Napisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

4