Skip to content

Commit 6d14457

Browse files
committed
Five card stud, nothing wild. And the sky's the limit
1 parent 067b3f0 commit 6d14457

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
from collections import defaultdict
2+
from typing import List
3+
4+
5+
def freqQuery(queries: List[int]) -> List[int]:
6+
"""
7+
:param queries: a 2-d array of integers
8+
:return: the results of queries of type 3
9+
"""
10+
results = []
11+
quantities = dict()
12+
frequencies = defaultdict(set)
13+
14+
for command, value in queries:
15+
frequency = quantities.get(value, 0)
16+
if command == 1:
17+
quantities[value] = frequency + 1
18+
frequencies[frequency].discard(value)
19+
frequencies[frequency + 1].add(value)
20+
elif command == 2:
21+
quantities[value] = max(0, frequency - 1)
22+
frequencies[frequency].discard(value)
23+
frequencies[frequency - 1].add(value)
24+
elif command == 3:
25+
results.append(1 if frequencies[value] else 0)
26+
else:
27+
raise Exception("Query type out of query types")
28+
return results
29+
30+
31+
if __name__ == '__main__':
32+
q = []
33+
34+
for _ in range(int(input().strip())):
35+
q.append(list(map(int, input().rstrip().split())))
36+
37+
print(freqQuery(q))
38+

0 commit comments

Comments
 (0)