剑指offer:把数组排成最小的数

首先定义个返回字符串型的PrintMinNumber函数,里面有个整形数组int, vector<string> temp;顶一个字符串型temp,遍历整形数组numbers,把遍历的num变成字符串型全压入temp字符串中,然后用sort重小到大排序,它后半段用了个Lambda 表达式的排序比较函数,两个参数字符串型a,b,如果 a+b<b+a满足,说明a+b合在一起的值更小,不满足则b+a更小,最后定义个结果的字符串,在用个变量t遍历temp字符串(它是小->大的顺序)将从小到大排序后的字符串连接起来,返回最终的result.

class Solution{
public:
string PrintMinNumber(vector<int> numbers){
    vector<string> temp;
    for(auto& num:numbers){
        temp.push_back(to_string(num));

    }
    sort(temp.begin(),temp.end(),[](const string& a,const string& b){return a+b<b+a;});
    string result;
    for(auto& t:temp){//使用引用方式 & 来声明变量 t,以便在循环体内可以修改向量元素的值。
        result+=t;

    }
    return result;

}
};

#剑指offer##23届找工作求助阵地#
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:20
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务