Menu
CoddyTech

Chocolate Distribution Problem

Kamu memiliki beberapa bungkus cokelat, dan packets[i] adalah jumlah cokelat dalam bungkus i. Setiap siswa dari m siswa mendapat tepat satu bungkus, sehingga m bungkus yang berbeda dibagikan. Pilih bungkus-bungkus tersebut agar selisih antara bungkus terbesar dan terkecil yang dibagikan sekecil mungkin.

Tulis fungsi bernama minDifference yang mengembalikan selisih terkecil yang mungkin.

Fungsi

minDifference(packets: integer-array, m: integer) → integer
packetsinteger-array
jumlah cokelat di setiap bungkus
minteger
jumlah siswa, masing-masing mendapat satu paket
Mengembalikaninteger
selisih sekecil mungkin antara paket terbesar dan terkecil yang dibagikan

Batasan

  • 2 ≤ m ≤ packets.length ≤ 104
  • 1 ≤ packets[i] ≤ 105
  • Dua bungkus dapat berisi jumlah cokelat yang sama.

Contoh

Input
packets = [9, 3, 15, 7, 11, 4]m = 3
Output
4
Penjelasan
Setelah diurutkan, paket-paket itu adalah 3, 4, 7, 9, 11, dan 15. Baik 3, 4, 7 maupun 7, 9, 11 memiliki selisih 4, dan tidak ada tiga paket yang jaraknya lebih dekat.
Reset kode
def minDifference(packets, m):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

4