Menu
CoddyTech

Aggressive Cows

Una stalla ha dei recinti disposti lungo una linea retta e stalls[i] è la posizione del recinto i. Le posizioni sono tutte diverse e non sono in un ordine particolare. Devi mettere k mucche in k recinti diversi; le mucche litigano quando sono vicine, quindi vuoi che le due mucche più vicine siano il più lontane possibile.

Restituisci il valore massimo possibile della distanza minima tra due mucche qualsiasi.

Funzione

aggressiveCows(stalls: integer-array, k: integer) → integer
stallsinteger-array
le distinte posizioni degli stalli, in qualsiasi ordine
kinteger
il numero di mucche da posizionare
Restituisceinteger
la più grande distanza minima possibile tra due mucche

Vincoli

  • 2 ≤ stalls.length ≤ 5000
  • 0 ≤ stalls[i] ≤ 109
  • Tutte le posizioni in stalls sono distinte.
  • 2 ≤ k ≤ stalls.length

Esempi

Input
stalls = [10, 1, 7, 4, 15]k = 3
Output
6
Spiegazione
Le mucche nelle posizioni 1, 7 e 15 distano rispettivamente 6 e 8. Una distanza di 7 non funziona: dopo 1, la mucca successiva va in 10 e non c’è nessuna stalla a 17 o oltre.
challenge icon

Per approfondire

Che cosa cambia se le bancarelle sono disposte su un cerchio, così che l’ultima bancarella in ordine sia anche vicina alla prima?

Ripristina il codice
def aggressiveCows(stalls, k):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

6