1038. Recover the Smallest Number (30)

来源:互联网 发布:飞机水上迫降 知乎 编辑:程序博客网 时间:2024/06/08 06:34

经典面试题,需要排序,关键是知道 a+b<b+a

#include <iostream>#include <stdio.h>#include <string.h>#include <vector>#include <map>#include <stack>#include <queue>#include <algorithm>#include <set>using namespace std;bool cmp(string a ,string b){    return a+b<b+a;}int n;string tmp,ans;vector<string> num;int main(){    cin>>n;    while(n--){        cin>>tmp;        num.push_back(tmp);    }    sort(num.begin(),num.end(),cmp);    for(int i=0;i<num.size();i++){        ans+=num[i];    }    bool flag=false;    //cout<<ans<<endl;    for(int i=0;i<ans.size();i++){        if(ans[i]=='0'&&!flag)            continue;        else            flag=1,printf("%c",ans[i]);    }    if(!flag)        printf("0\n");    return 0;}


0 0
原创粉丝点击