Skip to content

Commit e8f2b83

Browse files
authored
Create m2349.py
1 parent 6c4b498 commit e8f2b83

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

my-submissions/m2349.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class NumberContainers:
2+
3+
def __init__(self):
4+
self.data = {}
5+
self.indicies_values = {}
6+
7+
def change(self, index: int, number: int) -> None:
8+
if number not in self.data :
9+
self.data[number] = []
10+
heapq.heappush(self.data[number], index)
11+
12+
if index not in self.indicies_values :
13+
self.indicies_values[index] = number
14+
return
15+
16+
prev_val = self.indicies_values[index]
17+
self.indicies_values[index] = number
18+
19+
while self.data[prev_val] and self.indicies_values[self.data[prev_val][0]] != prev_val :
20+
heapq.heappop(self.data[prev_val])
21+
22+
if not self.data[prev_val] :
23+
self.data.pop(prev_val)
24+
25+
def find(self, number: int) -> int:
26+
if number not in self.data :
27+
return -1
28+
return self.data[number][0]
29+
30+
31+
# Your NumberContainers object will be instantiated and called as such:
32+
# obj = NumberContainers()
33+
# obj.change(index,number)
34+
# param_2 = obj.find(number)

0 commit comments

Comments
 (0)