Find Players With Zero or One Losses LeetCode solution in Python

1
# Runtime: 5248 ms (Top 5.11%) | Memory: 68.3 MB (Top 89.11%)
2
class Solution:
3
def findWinners(self, matches: List[List[int]]) -> List[List[int]]:
4
winners, losers, table = [], [], {}
5
for winner, loser in matches:
6
# map[key] = map.get(key, 0) + change . This format ensures that KEY NOT FOUND error is always prevented.
7
# map.get(key, 0) returns map[key] if key exists and 0 if it does not.
8
table[winner] = table.get(winner, 0) # Winner
9
table[loser] = table.get(loser, 0) + 1
10
for k, v in table.items(): # Player k with losses v
11
if v == 0:
12
winners.append(k) # If player k has no loss ie v == 0
13
if v == 1:
14
losers.append(k) # If player k has one loss ie v == 1
15
return [
16
sorted(winners),
17
sorted(losers),
18
] # Problem asked to return sorted arrays.

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0