题意理解
给定一个正整数数组,问排列拼在一起拼成一个大数,求最小的数。
问题分析
排序,比较算法需要根据题意设计。
通过两个数正拼反拼,比较出结果。越小排靠前。
其他
算法思路,全局排序和两两排序。可以移植同样的规则。减少打开规则分析的工作量。投机一波。
链接
class Solution {
public:
string minNumber(vector<int>& nums) {
sort(nums.begin(), nums.end(), [](int a, int b){
string aa = to_string(a) + to_string(b);
string bb = to_string(b) + to_string(a);
return aa < bb;
});
string res;
for (int num : nums) {
res += to_string(num);
}
return res;
}
};