输入一个正整数数组,把数组里所有数字拼接起来排成一个数,
class Solution {
public:
static bool cmp(int a,int b)
{
string A,B;
A=to_string(a);
B=to_string(b);
return (A+B)<(B+A);//前面这个小于后面这个代表升序,代表合起来的升序
}
//用 string to_string(anything)把其他的类型装换成string形
string PrintMinNumber(vector<int> numbers) {
int len=numbers.size();
string re;//退回去试一下
if(len==0)
return re;
sort(numbers.begin(),numbers.end(),cmp);
for(int i=0;i<len;i++)
re+=to_string(numbers[i]);
return re;
}
};大神写法:本就是大神写法,来一个更牛逼的
[] (string s1,string s2) {return s1+s2<s2+s1;}
解析:capture mutable ->return-type{statement}
lambda,函数有点东西,第一次接触我有个大概就行,怎么用爷有个大概就行。
360集团公司氛围 420人发布
查看14道真题和解析