如题,输入一行整数数组,以逗号隔开,请你将数组中的每个元素替换为它们升序排列后的序号。
示例2的输出是311356
如题,输入一行整数数组,以逗号隔开,请你将数组中的每个元素替换为它们升序排列后的序号。
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> nums;
char ch;
int x;
while (std::cin >> x)
{
nums.push_back(x);
std::cin >> ch;
}
auto sorted_nums = nums;
std::sort(sorted_nums.begin(), sorted_nums.end());
for (std::size_t i = 0; i < nums.size(); i++)
{
auto x = nums[i];
auto itr = std::find(sorted_nums.begin(), sorted_nums.end(), x);
auto pos = std::distance(sorted_nums.begin(), itr) + 1;
std::cout << pos;
if (i < nums.size() - 1)
std::cout << ",";
}
return 0;
}