2582。把枕頭遞過來
簡單
有 n 個人站在一排,標示為 1 到 n。隊伍中的第一個人最初拿著一個枕頭。每一秒,拿著枕頭的人都會把它傳給隊伍中的下一個。一旦枕頭到達隊伍的末端,方向就會改變,人們繼續以相反的方向傳遞枕頭。
給定兩個正整數n和time,傳回time秒後抱枕頭的人的索引。
範例1:
五秒後,第二個人拿著枕頭。
範例2:
兩秒後,第三個人拿著枕頭。
範例 3:
約束:
解:
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 } }
以上是把枕頭遞過去的詳細內容。更多資訊請關注PHP中文網其他相關文章!