Menu
CoddyTech

Aggressive Cows

納屋には一直線上に厩舎が並んでおり、stalls[i] は厩舎 i の位置です。位置はすべて異なり、特定の順序にはなっていません。k 頭の牛をそれぞれ異なる k 個の厩舎に入れる必要があります。牛は近くに立つと争うため、最も近い2頭の牛の間隔をできるだけ広くしたいと考えています。

任意の2頭の牛の間の距離のうち、最小の距離として可能な最大値を返してください。

関数

aggressiveCows(stalls: integer-array, k: integer) → integer
stallsinteger-array
異なる停止位置を、順序は問わず
kinteger
配置する牛の数
戻り値integer
2頭の牛の間の距離の最小値として可能な最大値

制約

  • 2 ≤ stalls.length ≤ 5000
  • 0 ≤ stalls[i] ≤ 109
  • stalls 内のすべての位置は互いに異なります。
  • 2 ≤ k ≤ stalls.length

例

入力
stalls = [10, 1, 7, 4, 15]k = 3
出力
6
説明
1、7、15にいる牛同士の間隔は、それぞれ6と8です。間隔を7にすると失敗します。1の次の牛は10に置かれ、17以上の場所には牛小屋がありません。
challenge icon

発展問題

屋台が円形に並んでいて、順番の最後の屋台も最初の屋台の隣にある場合、何が変わりますか?

コードをリセット
def aggressiveCows(stalls, k):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

stalls = [10, 1, 7, 4, 15]
k = 3

期待される出力

6