Menu
CoddyTech

Chocolate Distribution Problem

チョコレートの小袋がいくつかあり、packets[i] は小袋 i に入っているチョコレートの数です。m 人の生徒はそれぞれ小袋をちょうど1つ受け取るため、異なる小袋が m 個配られます。配られる小袋のうち、最も多いものと最も少ないものの差ができるだけ小さくなるように選んでください。

可能な最小の差を返す、minDifference という名前の関数を書いてください。

関数

minDifference(packets: integer-array, m: integer) → integer
packetsinteger-array
各パケットに入っているチョコレートの数
minteger
生徒の人数。それぞれに1つずつパケットを配る
戻り値integer
配布されたパケット数の最大値と最小値の差として可能な最小値

制約

  • 2 ≤ m ≤ packets.length ≤ 104
  • 1 ≤ packets[i] ≤ 105
  • 2つの袋には、同じ数のチョコレートを入れることができます。

例

入力
packets = [9, 3, 15, 7, 11, 4]m = 3
出力
4
説明
並べ替えると、パケットは3、4、7、9、11、15です。3、4、7と7、9、11はどちらも差が4で、これより近い3つのパケットはありません。
コードをリセット
def minDifference(packets, m):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

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

期待される出力

4