Menu
CoddyTech

Aggressive Cows

Một chuồng trại có các ô chuồng nằm dọc theo một đường thẳng, và stalls[i] là vị trí của ô chuồng i. Các vị trí đều khác nhau và không theo thứ tự cụ thể nào. Bạn phải đặt k con bò vào k ô chuồng khác nhau. Bò sẽ đánh nhau khi đứng gần nhau, vì vậy bạn muốn khoảng cách giữa hai con bò gần nhau nhất lớn nhất có thể.

Trả về giá trị lớn nhất có thể của khoảng cách nhỏ nhất giữa bất kỳ hai con bò nào.

Hàm

aggressiveCows(stalls: integer-array, k: integer) → integer
stallsinteger-array
các vị trí quầy hàng riêng biệt, theo thứ tự bất kỳ
kinteger
số con bò cần đặt
Trả vềinteger
khoảng cách nhỏ nhất lớn nhất có thể giữa hai con bò

Ràng buộc

  • 2 ≤ stalls.length ≤ 5000
  • 0 ≤ stalls[i] ≤ 109
  • Tất cả vị trí trong stalls đều khác nhau.
  • 2 ≤ k ≤ stalls.length

Ví dụ

Đầu vào
stalls = [10, 1, 7, 4, 15]k = 3
Đầu ra
6
Giải thích
Các con bò ở vị trí 1, 7 và 15 cách nhau lần lượt 6 và 8 đơn vị. Khoảng cách 7 không đạt: sau vị trí 1, con bò tiếp theo được đặt ở vị trí 10, và không có ô chuồng nào ở vị trí 17 trở đi.
challenge icon

Câu hỏi mở rộng

Điều gì thay đổi nếu các quầy hàng nằm trên một vòng tròn, để quầy cuối cùng cũng là hàng xóm của quầy đầu tiên?

Đặt lại code
def aggressiveCows(stalls, k):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

6