贪心求最大字符串
本题核心是sort排序,用cmp自定义排序顺序,把大的拼接数放在前面。sort逻辑如图展示,再去比较5和9,3和30来达到最大字符串。
代码实现
#include <bits/stdc++.h>
using namespace std;
bool cmp(string a, string b){
return a + b > b + a;
}
int main(){
int n;
cin >> n;
string s[21];
for(int i = 0; i < n; i++){
cin >> s[i];
}
sort(s, s + n, cmp);
for(int i = 0; i < n; i++){
cout << s[i];
}
return 0;
}