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中文网其他相关文章!