数据离散化C++模板
·
复杂度O(nlog(n))O(nlog(n))O(nlog(n)):
//vector+sort+unique+lower_bound
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+5;
int n,a[maxn];
vector <int> key;
int main(){
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a[i];
key.push_back(a[i]);
}
sort(key.begin(),key.end());
int m = unique(key.begin(), key.end()) - key.begin();
for(int i = 0; i < n; i++) {
//lower_bound返回数组下标,加1是为了从1开始
a[i] = lower_bound(key.begin(), key.end(), a[i]) - key.begin() + 1;
}
return 0;
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)