Problem · Array
Tournament Rounds by Rank
Learn this problemProblem statement
You are given an array ranks representing players in tournament order. A smaller number means a stronger rank.
In each round, adjacent players compete: indices 0 and 1, indices 2 and 3, and so on. The player with the smaller rank number advances to the next round. If a round has an odd number of players, the last player advances automatically.
Return the list of rounds after each elimination round. Each inner array should contain the ranks that advanced from that round, in order. Continue until one player remains.
Function
simulateTournamentRounds(ranks: int[]) → int[][]Complete the function simulateTournamentRounds in the editor.
simulateTournamentRounds has the following parameter:
int ranks[]: player ranks in the initial bracket order
Returns
int[][]: the advancing ranks after each round
Examples
Example 1
ranks = [1, 2, 3, 4, 5, 6, 7, 8]return = [[1, 3, 5, 7], [1, 5], [1]]In the first round, the winners are 1, 3, 5, and 7. Then 1 and 5 advance. Finally, 1 wins.
Example 2
ranks = [3, 1, 2]return = [[1, 2], [1]]Player 1 beats player 3. Player 2 has no opponent in the first round and advances automatically.
Constraints
- Rank values are distinct.
- A smaller rank number represents a stronger player.
- If a round has an odd number of players, the last player advances automatically.
More Uber problems
- Last Truck to Leave the LaneOA · Seen Jul 2026
- Chain of CommandOA · Seen Jul 2026
- Jump Game with Prime-3 StepsOA · Seen Jun 2026
- Total Palindrome Substring CostOA · Seen Jun 2026
- Earliest Time All Users Are ConnectedPHONE SCREEN · Seen May 2026
- Farthest Seat AssignmentONSITE INTERVIEW · Seen May 2026
- Convex Function MinimizationPHONE SCREEN · Seen May 2026
- Maximal Square AreaONSITE INTERVIEW · Seen May 2026