题目描述
设有 n个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
输入格式
第一行有一个整数,表示数字个数 n。
第二行有 n 个整数,表示给出的 n 个整数 ai。
输出格式
一个正整数,表示最大的整数
分析:创建一个字符串数组进行排序,排序的方式是,a+b大于b+a就将a放前。
代码:
#include<bits/stdc++.h>
using namespace std;
bool paixu(string a, string b) {
if (a + b > b + a)return 1;
return 0;
}
int main() {
int n;
cin >> n;
string s[21];
for (int i = 1; i <= n; i++) {
cin >> s[i];
}
sort(s + 1, s + 1 + n, paixu);
for (int i = 1; i <= n; i++)
cout << s[i];
return 0;
}