数组离散化处理,本质哈希
vector<int> get(const vector<int>& 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;
}
适合用于数据很少,但是数值很大,且不涉及数值计算的题目
{
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;
}
适合用于数据很少,但是数值很大,且不涉及数值计算的题目
全部评论
相关推荐
10-30 22:08
北京工业大学 Java 点赞 评论 收藏
分享
11-07 10:05
石家庄市第一职业中专学校 后端工程师 StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
11-18 10:44
门头沟学院 Java 点赞 评论 收藏
分享
