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

news/2025/3/20 6:05:07/

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的一个参数。


http://www.ppmy.cn/news/1580520.html

相关文章

Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问

DeepSeek本地部署指南&#xff0c;特别是在Linux服务器上部署并在Mac上实现远程Web-UI访问&#xff0c;可以按照以下步骤进行&#xff1a; 一、在Linux服务器上部署DeepSeek模型 安装Ollama 使用命令curl -sSfL https://ollama.com/install.sh | sh来安装Ollama。安装完成后&a…

利用knn算法实现手写数字分类

利用knn算法实现手写数字分类 1.作者介绍2.KNN算法2.1KNN&#xff08;K-Nearest Neighbors&#xff09;算法核心思想2.2KNN算法的工作流程2.3优缺点2.4 KNN算法图示介绍 3.实验过程3.1安装所需库3.2 MNIST数据集3.3 导入手写数字图像进行分类3.4 完整代码3.5 实验结果 1.作者介…

处理变长的时间序列

pytorch中torch.nn.utils.rnn相关sequence的pad和pack操作 官网…torch.nn.utils.rnn.pack_padded_sequence 知乎pack_padded_sequence 和 pad_packed_sequence 结论 ✅ pack_padded_sequence 是最好的方法&#xff08;避免无效计算&#xff0c;提升性能&#xff09; &#x…

C语言:编程设计猜数游戏

先由计算机想一个数给用户猜&#xff0c;如果猜对了&#xff0c;提示“right&#xff01;”&#xff0c;猜错了&#xff0c;提示“wrong&#xff01;及大小” 思路&#xff1a;用随机函数rand&#xff08;&#xff09;取到计算机想的数 代码&#xff1a; #include <stdio.…

Linux 命令学习记录

Linux 命令详解与进阶指南 Linux 是一种广泛使用的开源操作系统&#xff0c;掌握 Linux 命令是开发者和系统管理员的必备技能。本文将详细介绍 Linux 的常用命令&#xff0c;并涵盖一些高级进阶技巧&#xff0c;帮助你更高效地使用 Linux。 目录 基础命令 文件与目录操作文本…

[特殊字符] Blender + 在线渲染农场加速渲染|渲染 101 极简指南

⚡ 渲染 101&#xff1a;为什么需要加速&#xff1f; 耗时原因&#xff1a;场景复杂度↑&#xff08;模型 / 材质 / 灯光&#xff09; 渲染时间↑本地局限&#xff1a;单设备性能弱、硬件占用久核心方案&#xff1a;分布式计算&#xff08;多设备并行&#xff09; 自动化流程 …

JVM G1内存管理核心概念解析:Region、Card Table、CSet与RSet

一、Region&#xff08;堆分区&#xff09; 定义&#xff1a;Region是G1垃圾回收器中内存管理的最小单元&#xff0c;将传统连续堆划分为多个独立区域&#xff08;默认2048个&#xff09;&#xff0c;每个大小在1MB-32MB之间&#xff0c;支持动态调整。 核心特性&#xff1a;…

如何判断 MSF 的 Payload 是 Staged 还是 Stageless(含 Meterpreter 与普通 Shell 对比)

在渗透测试领域&#xff0c;Metasploit Framework&#xff08;MSF&#xff09;的 msfvenom 工具是生成 Payload&#xff08;载荷&#xff09;的核心利器。然而&#xff0c;当我们选择 Payload 时&#xff0c;经常会遇到一个问题&#xff1a;这个 Payload 是 Staged&#xff08;…