。。。虽然华为不让我笔试。。不过你的程序好像根本不对吧。。。。
你输入432143214321试试。。。。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str;
while (cin >> str)
{
int len = str.length();
vector<int>count(10,0);
for (int i = 0; i < len; i++)
{
count[str[i] - '0']++;
}
for (int i = 0; i < str.length()-1; i++)
{
if (str[i] <= str[i + 1] && count[str[i] - '0'] > 1)
{
count[str[i] - '0']--;
str.erase(i, 1);
i--;
}
}
for (int i = str.length() - 1; i >=0; i--)
{
if (count[str[i] - '0'] > 1)
{
count[str[i] - '0']--;
str.erase(i, 1);
}
}
cout << str << endl;
}
return 0;
}
这是我的。。。仅供参考。。。