Menu
CoddyTech

Aggressive Cows

Ein Stall hat Boxen entlang einer geraden Linie, und stalls[i] ist die Position der Box i. Alle Positionen sind unterschiedlich und in keiner bestimmten Reihenfolge angegeben. Du musst k Kühe in k verschiedene Boxen setzen. Die Kühe kämpfen, wenn sie nahe beieinander stehen. Deshalb möchtest du den Abstand zwischen den zwei nächstgelegenen Kühen so groß wie möglich machen.

Gib den größtmöglichen Wert des kleinsten Abstands zwischen zwei beliebigen Kühen zurück.

Funktion

aggressiveCows(stalls: integer-array, k: integer) → integer
stallsinteger-array
die unterschiedlichen Stallpositionen, in beliebiger Reihenfolge
kinteger
die Anzahl der Kühe, die platziert werden sollen
Gibt zurückinteger
der größtmögliche Mindestabstand zwischen zwei Kühen

Einschränkungen

  • 2 ≤ stalls.length ≤ 5000
  • 0 ≤ stalls[i] ≤ 109
  • Alle Positionen in stalls sind unterschiedlich.
  • 2 ≤ k ≤ stalls.length

Beispiele

Eingabe
stalls = [10, 1, 7, 4, 15]k = 3
Ausgabe
6
Erklärung
Die Kühe bei 1, 7 und 15 stehen 6 bzw. 8 voneinander entfernt. Ein Abstand von 7 funktioniert nicht: Nach 1 kommt die nächste Kuh auf 10, und es gibt keinen Stall bei 17 oder weiter.
challenge icon

Weiterführende Frage

Was ändert sich, wenn die Stände im Kreis stehen, sodass der letzte Stand in der Reihenfolge auch ein Nachbar des ersten ist?

Code zurücksetzen
def aggressiveCows(stalls, k):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

6