2582. Gib das Kissen weiter
Einfach
Es stehen n Personen in einer Reihe, die mit 1 bis n beschriftet ist. Die erste Person in der Schlange hält zunächst ein Kissen. Jede Sekunde gibt die Person, die das Kissen hält, es an die nächste Person weiter, die in der Schlange steht. Sobald das Kissen das Ende der Linie erreicht, ändert sich die Richtung und die Leute reichen das Kissen weiter in die entgegengesetzte Richtung.
Angesichts der beiden positiven ganzen Zahlen n und der Zeit wird der Index der Person, die das Kissen hält, nach Zeitsekunden zurückgegeben.
Beispiel 1:
Nach fünf Sekunden hält die 2. Person das Kissen.
Beispiel 2:
Nach zwei Sekunden hält die 3. Person das Kissen.
Beispiel 3:
Einschränkungen:
Lösung:
class Solution { /** * @param Integer $n * @param Integer $time * @return Integer */ function passThePillow($n, $time) { $direction = 1; // 1 for forward, -1 for backward $current = 0; // Starting at the first person for ($i = 0; $i < $time; $i++) { $current += $direction; if ($current == $n - 1) { $direction = -1; // Change direction to backward when reaching the last person } elseif ($current == 0) { $direction = 1; // Change direction to forward when reaching the first person } } return $current + 1; // Convert to 1-based index } }
Das obige ist der detaillierte Inhalt vonGib das Kissen weiter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!