MCPcopy Index your code
hub / github.com/TheAlgorithms/Python / change

Method change

other/number_container_system.py:125–155  ·  view source on GitHub ↗

Changes (sets) the index as number >>> cont = NumberContainer() >>> cont.change(0, 10) >>> cont.change(0, 20) >>> cont.change(-13, 20) >>> cont.change(-100030, 20032903290)

(self, index: int, number: int)

Source from the content-addressed store, hash-verified

123 return array
124
125 def change(self, index: int, number: int) -> None:
126 """
127 Changes (sets) the index as number
128
129 >>> cont = NumberContainer()
130 >>> cont.change(0, 10)
131 >>> cont.change(0, 20)
132 >>> cont.change(-13, 20)
133 >>> cont.change(-100030, 20032903290)
134 """
135 # Remove previous index
136 if index in self.indexmap:
137 n = self.indexmap[index]
138 if len(self.numbermap[n]) == 1:
139 del self.numbermap[n]
140 else:
141 self.numbermap[n] = self.binary_search_delete(self.numbermap[n], index)
142
143 # Set new index
144 self.indexmap[index] = number
145
146 # Number not seen before or empty so insert number value
147 if number not in self.numbermap:
148 self.numbermap[number] = [index]
149
150 # Here we need to perform a binary search insertion in order to insert
151 # The item in the correct place
152 else:
153 self.numbermap[number] = self.binary_search_insert(
154 self.numbermap[number], index
155 )
156
157 def find(self, number: int) -> int:
158 """

Callers

nothing calls this directly

Calls 2

binary_search_deleteMethod · 0.95
binary_search_insertMethod · 0.95

Tested by

no test coverage detected