关注
// 贴上第二个代码,只通过了60%
#include <iostream>
#include <vector>
#include <algorithm>
struct X
{
int priority;
int order;
X(int p, int o) : priority(p), order(o) {}
friend bool operator<(const X& lhs, const X& rhs);
};
bool operator<(const X& lhs, const X& rhs)
{
return lhs.priority > rhs.priority;
}
void printOrder(const int input[], int len, int output[])
{
if (len == 0)
return;
std::vector<X> xs;
xs.reserve(len);
for (int i = 0; i < len; ++i)
{
xs.emplace_back(input[i], i);
}
std::stable_sort(xs.begin(), xs.end());
for (int i = 0; i < len; ++i)
{
output[i] = xs[i].order;
}
}
int main()
{
char in;
std::vector<int> temp;
while (std::cin >> in)
{
if (in == ',')
continue;
temp.push_back(in - '0');
}
int *input = new int[temp.size()];
int *output = new int[temp.size()];
int len = temp.size();
for (int i = 0; i < len; ++i)
*(input + i) = temp[i];
printOrder(input, len, output);
for (int i = 0; i < len; ++i)
{
if (i == 0)
std::cout << output[i];
else
std::cout << ", " << output[i];
}
}
查看原帖
点赞 评论
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
327549次浏览 3073人参与
# 上班苦还是上学苦呢? #
72267次浏览 644人参与
# 阿里云管培生offer #
36930次浏览 422人参与
# 地方国企笔面经互助 #
4494次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
21596次浏览 397人参与
# 选完offer后,你后悔学本专业吗 #
21837次浏览 159人参与
# 百度开奖 #
183152次浏览 1142人参与
# 我的实习求职记录 #
6069972次浏览 83541人参与
# 如何一边实习一边秋招 #
996578次浏览 12662人参与
# 找工作时遇到的神仙HR #
553285次浏览 3801人参与
# 入职第一天,你准备什么时候下班 #
21603次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10761次浏览 277人参与
# bilibili求职进展汇总 #
33180次浏览 356人参与
# 许愿池 #
214754次浏览 2534人参与
# 学历or实习经历,哪个更重要 #
53844次浏览 422人参与
# 你今年的平均薪资是多少? #
70710次浏览 345人参与
# 实习工作,你找得还顺利吗? #
247718次浏览 2906人参与
# 通信硬件薪资爆料 #
608710次浏览 5167人参与
# 海康威视求职进展汇总 #
400709次浏览 3408人参与
# 携程求职进展汇总 #
135697次浏览 930人参与
# 正在实习的你,几点下班 #
53312次浏览 396人参与
# 工作两年想退休了 #
53082次浏览 672人参与