解题思路:这道题不是真正意义上的排列,比如7,13最大是713而不是731,写一个比较函数将字符串从大到小排列,然后遍历字符串数组。
下面是c++代码:
#include <iostream>
#include<algorithm>
using namespace std;
string arr[21];
bool cmp(string a,string b){
return a + b > b + a;
}
int main()
{
// 请在此输入您的代码
int n;
string s;
cin >> n;
for(int i = 0;i < n;i++){
cin >> s;
arr[i] = s;
}
sort(arr,arr + n,cmp);
for(int i = 0;i < n;i++){
cout << arr[i];
}
return 0;
}