Class Solution
java.lang.Object
g1801_1900.s1823_find_the_winner_of_the_circular_game.Solution
1823 - Find the Winner of the Circular Game.<p>Medium</p>
<p>There are <code>n</code> friends that are playing a game. The friends are sitting in a circle and are numbered from <code>1</code> to <code>n</code> in <strong>clockwise order</strong>. More formally, moving clockwise from the <code>i<sup>th</sup></code> friend brings you to the <code>(i+1)<sup>th</sup></code> friend for <code>1 <= i < n</code>, and moving clockwise from the <code>n<sup>th</sup></code> friend brings you to the <code>1<sup>st</sup></code> friend.</p>
<p>The rules of the game are as follows:</p>
<ol>
<li><strong>Start</strong> at the <code>1<sup>st</sup></code> friend.</li>
<li>Count the next <code>k</code> friends in the clockwise direction <strong>including</strong> the friend you started at. The counting wraps around the circle and may count some friends more than once.</li>
<li>The last friend you counted leaves the circle and loses the game.</li>
<li>If there is still more than one friend in the circle, go back to step <code>2</code> <strong>starting</strong> from the friend <strong>immediately clockwise</strong> of the friend who just lost and repeat.</li>
<li>Else, the last friend in the circle wins the game.</li>
</ol>
<p>Given the number of friends, <code>n</code>, and an integer <code>k</code>, return <em>the winner of the game</em>.</p>
<p><strong>Example 1:</strong></p>
<p><img src="https://assets.leetcode.com/uploads/2021/03/25/ic234-q2-ex11.png" alt="" /></p>
<p><strong>Input:</strong> n = 5, k = 2</p>
<p><strong>Output:</strong> 3</p>
<p><strong>Explanation:</strong> Here are the steps of the game:</p>
<ol>
<li>
<p>Start at friend 1.</p>
</li>
<li>
<p>Count 2 friends clockwise, which are friends 1 and 2.</p>
</li>
<li>
<p>Friend 2 leaves the circle. Next start is friend 3.</p>
</li>
<li>
<p>Count 2 friends clockwise, which are friends 3 and 4.</p>
</li>
<li>
<p>Friend 4 leaves the circle. Next start is friend 5.</p>
</li>
<li>
<p>Count 2 friends clockwise, which are friends 5 and 1.</p>
</li>
<li>
<p>Friend 1 leaves the circle. Next start is friend 3.</p>
</li>
<li>
<p>Count 2 friends clockwise, which are friends 3 and 5.</p>
</li>
<li>
<p>Friend 5 leaves the circle. Only friend 3 is left, so they are the winner.</p>
</li>
</ol>
<p><strong>Example 2:</strong></p>
<p><strong>Input:</strong> n = 6, k = 5</p>
<p><strong>Output:</strong> 1</p>
<p><strong>Explanation:</strong> The friends leave in this order: 5, 4, 6, 2, 3. The winner is friend 1.</p>
<p><strong>Constraints:</strong></p>
<ul>
<li><code>1 <= k <= n <= 500</code></li>
</ul>
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
findTheWinner
public int findTheWinner(int n, int k)
-