欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > [贪心算法]-最大数(lambda 表达式的补充)

[贪心算法]-最大数(lambda 表达式的补充)

2025/3/20 1:06:19 来源:https://blog.csdn.net/m0_73802195/article/details/146323859  浏览:    关键词:[贪心算法]-最大数(lambda 表达式的补充)

1.解析

在这里插入图片描述
我们一般使用的排序比较大小都是
a>b 那么a在b的前面
a=b 无所谓
a<b a在b的后面

本题的排序则是
ab>ba 那么a在b的前面
ab=ba 无所谓
ab<ba a在b的后面

2.代码

class Solution {
public:string largestNumber(vector<int>& nums) {//1.先把所有的数字转成string//2.对sort这个排序进行转化//3.提取结果//特殊处理:如果第一个位置为0,那这个字符串就是全0vector<string> strs;for(int num:nums){strs.push_back(to_string(num));}sort(strs.begin(),strs.end(),[](const string &s1,const string &s2){return s1+s2>s2+s1;});string ret;for(auto& s:strs){ret+=s;}if(ret[0]=='0') return "0";return ret;}
};

补充语法:lambda 表达式

[capture_list] (parameters) -> return_type { function_body }

  • capture_list:捕获列表,捕获外部作用域的变量,可以为空

  • 在这里插入图片描述

  • parameters:参数列表,和正常的函数一样
    剩下的就是返回值类型(C++14之后可以省略,会自动推导),和函数主体,第一次看感觉这个东西的写法有点奇怪,在上面的代码中就是sort的一个参数。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词