Numpyを使うと楽なのだけど、使わない方針でやってるのでライブラリに入れた
python
class CoordinateCompression:
def __init__(self):
self.values = []
def add(self, x):
self.values.append(x)
def compress(self):
self.values.sort()
x2i = {}
for i, x in enumerate(self.values):
x2i[x] = i
self.x2i = x2i
self.i2x = self.values
return self.x2i, self.i2x