如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
看到题目想到字符串的比较大小
代码如下
#include <iostream>
#include <vector>
#include <iterator>
#include <string>
#include<algorithm>
using namespace std;
bool func(string i,string j)
{
return (i+j)>(j+i);//提供排序规则
}
int main()
{
vector<string> vec;
int num;
cin>>num;
for(int i = 0; i < num; ++i)
{
string temp;
cin>>temp;
vec.push_back(temp);
}
sort(vec.begin(),vec.end(),func);//这里用到了sort函数来排序
for(vector<string>::iterator it = vec.begin(); it != vec.end(); ++it)
{
cout<<(*it);
}
cout<<endl;
return 0;
}