拼数
解题思想
两个字符串要比较拼起来的大小,就直接将两者拼起来a+b或b+a,比较大小 有理论证明,要比较大于三个及三个以上字符串拼起来大小,也只要将两者拼起来大的形式放前面就好(注意并不是把大的放前面eg."433"、"4",“4433”比“4334”大)
代码:
#include<bits/stdc++.h>
using namespace std;
bool cmp(string a,string b){
return a+b>b+a;
}
int main(){
int n;
string a[22],b="";
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++){
b+=a[i];
}
cout<<b<<endl;
return 0;
}