Ai
1 Star 2 Fork 5

LilithSangreal/LeetCode-Solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
distant-barcodes.cpp 865 Bytes
一键复制 编辑 原始数据 按行查看 历史
kamyu 提交于 2019-05-26 16:13 +08:00 . Update distant-barcodes.cpp
// Time: O(klogk), k is the number of distinct barcode
// Space: O(k)
class Solution {
public:
vector<int> rearrangeBarcodes(vector<int>& barcodes) {
unordered_map<int, int> cnts;
for (const auto& barcode : barcodes) {
++cnts[barcode];
}
vector<pair<int, int>> sorted_cnts;
for (const auto& kvp : cnts) {
sorted_cnts.emplace_back(kvp.second, kvp.first);
}
sort(sorted_cnts.begin(), sorted_cnts.end(),
greater<pair<int, int>>());
int i = 0;
for (const auto& kvp : sorted_cnts) {
for (int j = 0; j < kvp.first; ++j) {
barcodes[i] = kvp.second;
i += 2;
if (i >= barcodes.size()) {
i = 1;
}
}
}
return barcodes;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/LilithSangreal/LeetCode-Solutions.git
git@gitee.com:LilithSangreal/LeetCode-Solutions.git
LilithSangreal
LeetCode-Solutions
LeetCode-Solutions
master

搜索帮助