704961. Face off Tournament

Basic

Face off Tournament

Summary

In this problem, we are given a list of players and their corresponding points. We need to simulate a face-off tournament where each player plays against every other player once. The winner of each match gets 1 point, and the loser gets 0 points. Our goal is to find the total number of matches played in the tournament.

Detailed Explanation

The approach to solve this problem is quite straightforward. We need to simulate all possible matches between players and keep track of the total number of matches. Here's a step-by-step breakdown of the solution:

  1. Initialize a variable total_matches to 0.
  2. Iterate through each player in the list.
  3. For each player, iterate through every other player (excluding themselves).
  4. Simulate a match between these two players and increment total_matches by 1 for each match.
  5. Return total_matches.

Here's an ASCII art diagram to illustrate this approach:

  +---------------+
  |   Player A    |
  +---------------+
         |
         |
  +---------------+
  |   Player B    |
  +---------------+
          ...

In this diagram, each player is represented by a box. The arrows represent the matches between players.

Time complexity: O(n^2) where n is the number of players. Space complexity: O(1) as we are not using any extra space that scales with input size.

Optimized Solutions

Java

java
public int totalMatches(int[][] points) {
    int total = 0;
    for (int i = 0; i < points.length; i++) {
        for (int j = i + 1; j < points.length; j++) {
            total++;
        }
    }
    return total;
}

Python

python
def total_matches(points):
    total = 0
    for i in range(len(points)):
        for j in range(i + 1, len(points)):
            total += 1
    return total

C++

cpp
int totalMatches(int **points, int n) {
    int total = 0;
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            total++;
        }
    }
    return total;
}

JavaScript

javascript
function totalMatches(points) {
    let total = 0;
    for (let i = 0; i < points.length; i++) {
        for (let j = i + 1; j < points.length; j++) {
            total++;
        }
    }
    return total;
}
View on GeeksforGeeks

Not available

DevExCode

Master coding interviews with Leetcode, system design, TechBit, QuickLearn, DevTips, Tech Battles, and career services.

© 2026 DevExCode. All rights reserved.