您的位置:首页 > 其它

华为2017校招第二题删除重复的数,得到最大值。

2017-08-23 21:19 267 查看
#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

#include <string>

#include <cstring>


int main(){

string str;

int a[128];

while(cin>>str){

memset(a,0,sizeof(a));

int len=str.size();

for(int i=0;i<len;i++){

a[str[i]]++;

}


for(int i=0;i<str.length();i++){

for(int j=i;j<str.length();j++){

if(str[i]<str[j]&&a[str[i]]>1)

{

a[str[i]]--;

str.erase(i,1);

}

else if(str[i]==str[j]&&i!=j){

a[
4000
str[j]]--;

str.erase(j,1);

}


}

//            for(int i=0;i<str.length();i++)

//cout<<i<<" "<<a[str[i]]<<endl;

}

//        for(int i=0;i<str.length();i++)

//            cout<<i<<" "<<a[str[i]]<<endl;

//        cout<<str.length();

cout<<str<<endl;

}

}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐