Skip to content

3175. Find The First Player to win K Games in a Row 👍

  • Time:
  • Space:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class Solution {
 public:
  // Similar to 1535. Find the Winner of an Array Game
  int findWinningPlayer(vector<int>& skills, int k) {
    int ans = 0;
    int wins = 0;

    for (int i = 1; i < skills.size() && wins < k; ++i)
      if (skills[i] > skills[ans]) {
        ans = i;
        wins = 1;
      } else {
        ++wins;
      }

    return ans;
  }
};
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class Solution {
  // Similar to 1535. Find the Winner of an Array Game
  public int findWinningPlayer(int[] skills, int k) {
    int ans = 0;
    int wins = 0;

    for (int i = 1; i < skills.length && wins < k; ++i)
      if (skills[i] > skills[ans]) {
        ans = i;
        wins = 1;
      } else {
        ++wins;
      }

    return ans;
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
class Solution:
  # Similar to 1535. Find the Winner of an Array Game
  def findWinningPlayer(self, skills: list[int], k: int) -> int:
    ans = 0
    wins = 0

    i = 1
    while i < len(skills) and wins < k:
      if skills[i] > skills[ans]:
        ans = i
        wins = 1
      else:
        wins += 1
      i += 1

    return ans