Menu
CoddyTech

Aggressive Cows

Un granero tiene establos a lo largo de una línea recta, y stalls[i] es la posición del establo i. Todas las posiciones son distintas y aparecen en un orden cualquiera. Debes colocar k vacas en k establos diferentes, y las vacas se pelean cuando están cerca, así que quieres que las dos vacas más cercanas estén lo más separadas posible.

Devuelve el mayor valor posible de la distancia mínima entre dos vacas cualesquiera.

Función

aggressiveCows(stalls: integer-array, k: integer) → integer
stallsinteger-array
las distintas posiciones de los puestos, en cualquier orden
kinteger
el número de vacas que colocar
Devuelveinteger
la mayor distancia mínima posible entre dos vacas

Restricciones

  • 2 ≤ stalls.length ≤ 5000
  • 0 ≤ stalls[i] ≤ 109
  • Todas las posiciones en stalls son distintas.
  • 2 ≤ k ≤ stalls.length

Ejemplos

Entrada
stalls = [10, 1, 7, 4, 15]k = 3
Salida
6
Explicación
Las vacas en 1, 7 y 15 están separadas por 6 y 8. Una distancia de 7 no funciona: después de 1, la siguiente vaca va a 10, y no hay ningún puesto en 17 o más allá.
challenge icon

Para ir más allá

¿Qué cambia si los puestos están dispuestos en un círculo, de modo que el último puesto en el orden también sea vecino del primero?

Restablecer código
def aggressiveCows(stalls, k):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

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

Salida Esperada

6