返回

把数组排成最小的数

发布时间:2023-08-18 06:16:08 301

问题描述: 输入一个非负整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。 1.输出结果可能非常大,所以你需要返回一个字符串而不是整数 2.拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0

class Solution {
public:
struct myCompare {
bool operator()(int x, int y) {
string sx = to_string(x);
string sy = to_string(y);

string A = sx;
A += sy;

string B = sy;
B += sx;

return A < B;
}
};
string PrintMinNumber(vector<int> numbers) {
if (numbers.empty())
return "";

sort(numbers.begin(), numbers.end(), myCompare());
string str;
for (auto& val : numbers)
str += to_string(val);
return str;
}
};

把数组排成最小的数_数组

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
vs基础运算符及算术进阶使用 2023-08-18 02:53:37