排序

中兴笔试:基于一个数组中的元素出现的频率对数组进行排序,出现频率从大到小进行排序
全部评论
std::vector<int>Sort(std::vector<int>&arr) { assert(!arr.empty()); std::unordered_map<int, int>freqMap; for (auto it : arr) { auto iter = freqMap.find(it); if (iter != freqMap.end()) { freqMap[it]++; } else freqMap[it] = 1;   } std::sort(arr.begin(), arr.end(), [&freqMap](int lhs, int rhs){ return freqMap.at(lhs) > freqMap.at(rhs); }); return arr; }
点赞 回复 分享
发布于 2016-09-01 10:31
这个讨论区有这个帖子,可以搜一下“中兴笔试”
点赞 回复 分享
发布于 2016-09-01 10:14
https://www.nowcoder.com/discuss/7880
点赞 回复 分享
发布于 2016-09-01 10:16

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 5 评论
分享
牛客网
牛客企业服务