数组离散化处理,本质哈希

vector<int> get(const vector<int>&amp; arr) 
{
vector<int> tmp = arr; 
sort(tmp.begin(), tmp.end()); 
tmp.erase(unique(tmp.begin(), tmp.end()), tmp.end()); 
unordered_map<int, int> mp;for (int i = 0; i < tmp.size(); i + ) 
{
mp[tmp[i]] = i; 
}
vector<int> res(arr.size()); 
for (int i = 0; i < arr.size(); i + ) 
{
res[i] = mp[arr[i]]; 
}
return res; 
}
适合用于数据很少,但是数值很大,且不涉及数值计算的题目
全部评论

相关推荐

09-13 10:40
门头沟学院 Java
听别人介绍,刷了一堆力扣题,考场上写函数,一直无法通过。赛后才知道要自己写输入输出,力扣害人不浅
Silencer76:输入输出练习题单,请https://www.nowcoder.com/exam/oj?page=1&tab=%E7%AE%97%E6%B3%95%E7%AC%94%E9%9D%A2%E8%AF%95%E7%AF%87&topicId=372
投递中国电信等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务