LeetCode Problem

How to Solve Elimination Game

The optimal solution for Elimination Game leverages recursion combined with mathematical observation about number elimination patterns. Instead of simulating each step, we track the first element, step size, and direction. This approach reduces both time and space usage while directly computing the last remaining number.

GhostInterview Help

Need help with Elimination Game without spending extra time grinding it?

GhostInterview can read Elimination Game from a screenshot, generate the answer path, explain the complexity, and support solver-first interview workflows when you need direct help fast.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.

Problem #390Math plus RecursionReviewed 2026-03-08
Difficulty
Medium
Primary pattern
Math plus Recursion
Answer-first problem summary
Step-by-step approach and complexity
GhostInterview solver workflow

The optimal solution for Elimination Game leverages recursion combined with mathematical observation about number elimination patterns. Instead of simulating each step, we track the first element, step size, and direction. This approach reduces both time and space usage while directly computing the last remaining number.

Problem Statement

You are given an integer n representing a list of numbers from 1 to n arranged in increasing order. Repeatedly eliminate numbers in rounds: remove the first number and every other number from left to right, then reverse the direction and repeat the process until only one number remains.

Return the final number that remains after all elimination rounds. For example, given n = 9, the sequence progresses as [1,2,3,4,5,6,7,8,9] → [2,4,6,8] → [2,6] → [6], so the result is 6.

Examples

Example 1

Input: n = 9

Output: 6

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

Example details omitted.

Constraints

  • 1 <= n <= 109

Solution Approach

Recursive Tracking of First Element

Maintain the first number, step size, and direction of elimination. Update the first element each round based on whether elimination occurs from left or right, and halve the effective length until only one number remains.

Mathematical Pattern Recognition

Observe that the first element always changes in a predictable pattern: it increases by step size when eliminated from left, and from right if the remaining count is odd. Exploit this to skip explicit array manipulation.

Combine Recursion and Step Calculation

Use a recursive function to handle rounds by adjusting the first number and step size. Each recursive call represents a new elimination round, reducing problem size logarithmically until the base case of one element is reached.

Complexity Analysis

MetricValue
TimeDepends on the final approach
SpaceDepends on the final approach

Time complexity is O(log n) because each round halves the number of elements. Space complexity is O(log n) due to recursion stack, with no full array simulation needed.

What Interviewers Usually Probe

  • Candidate tries simulating the array fully instead of recognizing elimination patterns.
  • Candidate identifies the left-right elimination pattern and updates first element systematically.
  • Candidate applies recursion with step tracking to reach the final number efficiently.

Common Pitfalls or Variants

Common pitfalls

  • Simulating the full array leads to TLE for large n.
  • Forgetting that the first element moves differently when eliminating from right with odd count.
  • Confusing step updates between rounds and miscalculating the first remaining number.

Follow-up variants

  • Modify elimination to remove every k-th element instead of every other, requiring adjustment to step computation.
  • Start elimination from right first, which changes the first element update logic slightly.
  • Return the sequence of remaining numbers after each round instead of just the last number.

How GhostInterview Helps

  • GhostInterview provides step-by-step recursive reasoning to track the first element and step size.
  • It highlights mathematical patterns in the elimination process, reducing unnecessary array simulation.
  • It gives immediate verification of edge cases like n = 1 or large n, ensuring correctness and efficiency.

Topic Pages

FAQ

What is the optimal approach for Elimination Game?

The optimal approach combines recursion with tracking the first element and step size, avoiding full array simulation.

Why can't I just simulate the array to solve this problem?

Full simulation is inefficient and can exceed time limits for large n; mathematical pattern recognition is required.

How does direction of elimination affect the first element?

From left, the first element always moves by step size. From right, it moves only if remaining count is odd.

Can this method handle very large n, like 10^9?

Yes, recursive step tracking avoids large array creation, handling n up to 10^9 efficiently.

Which patterns does the Elimination Game solution rely on?

It relies on alternating left-right elimination and predictable updates of the first element each round.

GhostInterview Solver

Need direct help with Elimination Game instead of spending more time grinding it?

Download GhostInterview when you want a LeetCode solver, not another long practice loop. Capture Elimination Game from a screenshot, get the answer path and complexity, and use supported stealth workflows that stay outside captured layers.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.