Skip to content

Commit 10bd632

Browse files
Time: 4818 ms (5.88%) | Memory: 31.9 MB (89.85%) - LeetSync
1 parent 3cb445c commit 10bd632

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
class AllOne:
2+
3+
def __init__(self):
4+
self.freq = {}
5+
6+
def inc(self, key: str) -> None:
7+
self.freq[key] = self.freq.get(key, 0) + 1
8+
9+
def dec(self, key: str) -> None:
10+
self.freq[key] = self.freq.get(key, 0) - 1
11+
if self.freq[key] == 0:
12+
del self.freq[key]
13+
14+
def getMaxKey(self) -> str:
15+
count, res = 0, ""
16+
for k, v in self.freq.items():
17+
if v > count:
18+
count = v
19+
res = k
20+
return res
21+
22+
def getMinKey(self) -> str:
23+
count, res = inf, ""
24+
for k, v in self.freq.items():
25+
if v < count:
26+
count = v
27+
res = k
28+
return res
29+
30+
31+
# Your AllOne object will be instantiated and called as such:
32+
# obj = AllOne()
33+
# obj.inc(key)
34+
# obj.dec(key)
35+
# param_3 = obj.getMaxKey()
36+
# param_4 = obj.getMinKey()

0 commit comments

Comments
 (0)