Class Solution
-
- All Implemented Interfaces:
public final class Solution
390 - Elimination Game\.
Medium
You have a list
arr
of all integers in the range[1, n]
sorted in a strictly increasing order. Apply the following algorithm onarr
:Starting from left to right, remove the first number and every other number afterward until you reach the end of the list.
Repeat the previous step again, but this time from right to left, remove the rightmost number and every other number from the remaining numbers.
Keep repeating the steps again, alternating left to right and right to left, until a single number remains.
Given the integer
n
, return the last number that remains inarr
.Example 1:
Input: n = 9
Output: 6
Explanation:
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] arr = [2, 4, 6, 8] arr = [2, 6] arr = [6]
Example 2:
Input: n = 1
Output: 1
Constraints:
<code>1 <= n <= 10<sup>9</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final Integer
lastRemaining(Integer n)
-
-
Method Detail
-
lastRemaining
final Integer lastRemaining(Integer n)
-
-
-
-