ホームページ >バックエンド開発 >PHPチュートリアル >枕を渡す
2582。枕を渡す
簡単
1 から n までのラベルが付けられた列に n 人が立っています。列の最初の人は最初は枕を持っています。枕を持っている人は毎秒、列に並んでいる次の人に枕を渡します。枕が列の最後尾に達すると方向が変わり、人々は反対方向に枕を渡し続けます。
2 つの正の整数 n と time を指定すると、time 秒後に枕を持っている人のインデックスを返します。
例 1:
5 秒後、2 人目が枕を抱きます。
例 2:
2 秒後、3 人目が枕を持っています。
例 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 中国語 Web サイトの他の関連記事を参照してください。