34.离散化

离散化

// arr[i] 为初始数组,下标范围为 [1, n]
for (int i = 1; i <= n; ++i)  // step 1
	tmp[i] = arr[i];
std::sort(tmp + 1, tmp + n + 1);                          // 排序
int len = std::unique(tmp + 1, tmp + n + 1) - (tmp + 1);  // 去重
for (int i = 1; i <= n; ++i)                              
	arr[i] = std::lower_bound(tmp + 1, tmp + len + 1, arr[i]) - tmp; //找这个数的次序来代表中国数的值