小技巧 mark一下
给定1e5个数,每个数的取值为1~1e9,怎样把这些数方便的哈希出来;
sort(data, data + n, cmp);
data即为离散化后的数组
为什么呢?
很容易理解啦
假如现在有一个序列
data[0] = 122, data[1] = 233, data[2] = 12, data[3] = 23, data[4] = 1000
我们要把这个序列离散化,那么希望得到的结果是:
12 —>0
23 —>1
122 —> 2
233 —>3
1000 —> 4
其实这不就是排完序之后的下标吗?