1823. 순환게임의 승자를 찾아보세요
중간
게임을 하고 있는 친구가 n명 있습니다. 친구들은 원 안에 앉아 시계방향으로 1부터 n까지 번호가 매겨져 있습니다. 더 공식적으로 말하면, i번째 친구부터 시계 방향으로 이동하면 1 번째 친구가 1 <= i < n, n번째 친구부터 시계방향으로 이동하면 첫 번째번째 친구
가 나옵니다.게임의 규칙은 다음과 같습니다.
친구 수 n과 정수 k가 주어지면 게임의 승자를 반환합니다.
예 1:
예 2:
제약조건:
후속 조치:
이 문제를 일정한 공간을 갖는 선형 시간에서 해결할 수 있습니까?
해결책:
class Solution { /** * @param Integer $n * @param Integer $k * @return Integer */ function findTheWinner($n, $k) { $winner = 0; for ($i = 1; $i <= $n; $i++) { $winner = ($winner + $k) % $i; } return $winner + 1; // +1 because array index starts from 0 } }
연락처 링크
위 내용은 순환 게임의 승자를 찾아보세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!