華為機試題[2017.8.23]
阿新 • • 發佈:2019-01-01
題目:給定一個正整數,給出消除重複數字以後最大的整數
輸入描述:
正整數,注意考慮長整數
輸出描述:
消除重複數字以後的最大整數
下面的好像有問題,當輸入是4325432時結果不對
#include<iostream> #include<string> using namespace std; int main() { string s; while (cin >> s) { string res; res = s[0]; for (int i = 1; i<s.size(); i++) { if (res.find(s[i]) == string::npos) { res += s[i]; } else { int t = res.find(s[i]); if ((t + 1)<res.size()) { if (res[t]<res[t + 1]) { res.erase(t, 1); res += s[i]; } } } } cout << res << endl; } return 0; }