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.
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
01 · 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.
02 · 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
- 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
- First Unique IP Hitting the ServerPHONE SCREEN · Seen May 2026
- Jump Game with Prime-Step RuleOA · Seen May 2026
- Pipeline Throughput Maximization Under BudgetOA · Seen May 2026
public int[][] simulateTournamentRounds(int[] ranks) {
// write your code here
}ranks[1, 2, 3, 4, 5, 6, 7, 8]
expected[[1, 3, 5, 7], [1, 5], [1]]
sign in to submit