lambda用法及其原理
目录
- lambda形式
- lambda用法
- 1.sort降序
- 2.swap
- 3.捕捉列表
- 习题
- 解题
lambda形式
[capture-list](parameters)->return type{function boby}
- [capture-list]:[捕捉列表]用于捕捉函数外的参数,可以为空,但不能省略;
- (parameters) :(参数列表)和函数参数功能相似,可以为空,可以省略;
- ->return type:返回值类型,可以省略;
- {function boby}:函数体。
lambda用法
1.sort降序

vector<int> v({1,2,3,4,5,6,7,8,9});
sort(v.begin(),v.end(),[](int x,int y){return x<y;});
//打印9 8 7 6 5 4 3 2 1
2.swap
int a=0,b=1;
auto swap=[](int& x,int& y){int tmp=x;x=y;y=tmp;};swap(a,b);//a=1 b=0
3.捕捉列表
- 捕捉列表内的参数默认被const修饰不可修改(传值捕捉),可以加上&表示传引用捕捉。

- 未被捕捉列表捕捉的参数无法在函数体使用,而全局变量d和静态变量e不被捕捉也能使用。

3.静态变量过多可以采用[=]隐式传值捕捉或[&]隐式传应用捕捉
4. 也可以混合捕捉(a,b是传引用捕捉,其余是传值捕捉)

习题

解题
class Solution {
public:vector<int> advantageCount(vector<int>& nums1, vector<int>& nums2) {int n=nums1.size();vector<int> index(n);//下标数组for(int i=0;i<n;i++) index[i]=i;sort(nums1.begin(),nums1.end());sort(index.begin(),index.end(),[&](int i,int j){return nums2[i]<nums2[j];});//lambdavector<int> tmp(n);int left=0,right=n-1; for(int i=0;i<n;i++){if(nums1[i]>nums2[index[left]])tmp[index[left++]]=nums1[i];//比不过elsetmp[index[right--]]=nums1[i];}return tmp; }
};
相关文章:
lambda用法及其原理
目录 lambda形式lambda用法1.sort降序2.swap3.捕捉列表 习题解题 lambda形式 [capture-list](parameters)->return type{function boby}[capture-list]:[捕捉列表]用于捕捉函数外的参数,可以为空,但不能省略;(parameters) &am…...
Go Ebiten随机迷宫生成示例
引言 迷宫生成是计算机科学中一个经典的问题,常用于算法教学和游戏开发。本文将介绍如何使用 Go 语言和 Ebiten 游戏引擎实现一个基于深度优先搜索(DFS)的随机迷宫生成算法,并通过可视化的方式展示迷宫的生成过程。 技术栈 Go …...
前端学习DAY31(子元素溢出父元素)
.box1{width: 200px;height: 200px;background-color: chocolate;} 子元素是在父元素的内容区中排列的,如果子元素的大小超过了父元素,则子元素会从 父元素中溢出,使用overflow属性设置父元素如何处理溢出的子元素 可选值:visible…...
『SQLite』表的创建、修改和删除
本节摘要:主要讲述SQLite中创建、删除、修改表等操作。 创建表 CREATE TABLE 语句来创建表。 修改表 ALTER TABLE 语句来修改表名称、已有表字段,或者新增字段。 删除表 DROP TABLE 语句用来删除表. 注意: 上述内容详细讲解见文章&#…...
可持久化数据结构-线段树(主席树)
可持久化数据结构-线段树(主席树) (与可持久化字典树差不多) 概念:可持久化线段树是基本线段树的一个简单拓展, 是使用函数式编程思想的线段树; 作用: 可以存下来数据结构的所有历史版本 特点: 拓扑结构…...
如何利用PHP爬虫按关键字搜索淘宝商品
在当今的电商时代,获取淘宝商品信息对于市场研究、价格监控和竞争分析等方面具有重要意义。手动搜索和整理大量商品信息不仅耗时耗力,而且容易出错。幸运的是,PHP爬虫技术为我们提供了一种高效、自动化的方式来按关键字搜索淘宝商品。本文将详…...
GitHub - riscv-software-src/riscv-isa-sim: Spike, a RISC-V ISA Simulator
GitHub - riscv-software-src/riscv-isa-sim: Spike, a RISC-V ISA Simulator 操作手册 $ apt-get install device-tree-compiler libboost-regex-dev libboost-system-dev $ mkdir build $ cd build $ ../configure --prefix$RISCV $ make $ [sudo] make install 具体安装 …...
ubuntu开机启动服务
需求背景: 需要监控日志,每次都是手动启动 nohup ./prometheus >/dev/null & nohub ./node_exporter >/dev/null & 需求目标: 重启后系统自动启动服务...
电子电气架构 --- 设计车载充电机的关键考虑因素
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...
2025_0105_生活记录
3号去内蒙看了流星雨。还记得上次看流星的时间是2018年,也是冬天,大家在雁栖湖校区的操场上仰望星空。那个时候幸运的看到了一颗流星,便迅速地在心里许愿。这次看到了三颗流星,我也许了愿,希望实现。 24年走过了十多个…...
电池管理系统(BMS)架构详细解析:原理与器件选型指南
BMS(电池管理系统)架构详细讲解 从你提供的BMS(Battery Management System)架构图来看,主要涉及到电池监控模块、通信模块、功率控制模块等部分。下面我将详细讲解该架构的各个功能模块及其工作原理。 1. 电池管理核…...
用JAVA编写一个简单的小游戏
用Java语言编写一个简单的小游戏。这里是一个非常基础的猜数字小游戏的代码示例。在这个游戏中,程序会随机选择一个1到100之间的整数,玩家需要猜测这个数字是什么。每次猜测后,程序会告诉玩家他们猜的数字是太高了、太低了还是正确。 impor…...
【SpringSecurity】二、自定义页面前后端分离
文章目录 1、用户认证流程AuthenticationSuccessHandler AuthenticationFailureHandlerSecurityFilterChain配置用户认证信息 2、会话并发处理2.1、实现处理器接口2.2、SecurityFilterChain配置 1、用户认证流程 AuthenticationSuccessHandler AuthenticationFailureHandler …...
小兔鲜儿:头部区域的logo,导航,搜索,购物车
头部:logo ,导航,搜索,购物车 头部总体布局: 设置好上下外边距以及总体高度, flex布局让总体一行排列 logo: logo考虑搜索引擎优化,所以要使用 h1中包裹 a 标签,a 里边写内容(到时候…...
什么是VLAN?
VLAN(Virtual Local Area Network,虚拟局域网)是一种将物理局域网划分成多个逻辑上独立的虚拟网络的技术。VLAN不依赖于设备的物理位置,而是通过逻辑划分,将局域网内的设备虚拟地组织到同一组。这种技术允许网络管理员…...
WPS计算机二级•数据查找分析
听说这里是目录哦 通配符🌌问号(?)星号(*)波形符(~) 排序🌠数字按大小排序以当前选定区域排序以扩展选定区域排序 文字按首字母排序 快速筛选分类数据☄️文字筛选数字筛选颜色筛选…...
计算机网络 (28)虚拟专用网VPN
前言 虚拟专用网络(VPN)是一种在公共网络上建立私有网络连接的技术,它允许远程用户通过加密通道访问内部网络资源,实现远程办公和安全通信。 一、基本概念 定义:VPN是一种通过公共网络(如互联网)…...
【Python学习(七)——序列、列表、元组、range、字符串、字典、集合、可变类型不可变类型】
Python学习(七)——序列、列表、元组、range、字符串、字典、集合、可变类型&不可变类型 本文介绍了序列、列表、元组、range、字符串、字典、集合、可变类型&不可变类型,仅作为本人学习时记录,感兴趣的初学者可以一起看…...
MATLAB常用建模方法——常用非参数检验
常用非参数检验 在用样本数据对正态总体参数作出统计判断(例如参数估计和假设检验)时,要求样本数据应服从正态分布,这种数据分布类型已知的总体参数的假设检验称为参数假设检验。 与参数假设检验相对应的还有非参数假设检验&#…...
【多线程初阶篇 ²】创建线程的方式
目录 二、多线程代码 1.继承Thread类 2.实现Runnable接口 3.匿名内部类 3.1 创建Thread⼦类对象 3.2 创建Runnable⼦类对象 4.lambda表达式(推荐) 小结: 🔥面试题:Java中创建线程都有哪些写法 二、多线程代码 …...
揭秘ESPectre运动检测算法:MVS与NBVI的数学之美
揭秘ESPectre运动检测算法:MVS与NBVI的数学之美 【免费下载链接】espectre 🛜 ESPectre 👻 - Motion detection system based on Wi-Fi spectre analysis (CSI), with Home Assistant integration. 项目地址: https://gitcode.com/gh_mirro…...
基于STM32L4XX的环境光传感器(TCS34727FN)应用程序设计
一、简介: TCS34727FN是一款集成了红外滤光片的数字颜色传感器,能输出RGB三原色和Clear(无滤光)四个通道的16位数据。 二、主要技术特性: 核心功能:颜色光数字转换器(红、绿、蓝、Clear) 关键特性:内置红外滤光片(抑制红外成分,提升色彩精度) 接口:IC(VBUS=1.…...
MusePublic Art Studio效果实测:1024x1024输出在主流NVIDIA显卡表现
MusePublic Art Studio效果实测:1024x1024输出在主流NVIDIA显卡表现 1. 引言:当极简美学遇上高清渲染 想象一下,你有一个绝妙的创意画面在脑海中盘旋,但你不是程序员,也不想面对复杂的代码和命令行。你需要的&#x…...
TinyML实战:手把手教你用C++和TensorFlow Lite Micro构建一个正弦波预测器
TinyML实战:用C和TensorFlow Lite Micro构建正弦波预测器的完整指南 在嵌入式AI的世界里,TinyML正掀起一场革命。想象一下,在一个只有指甲盖大小的微控制器上运行机器学习模型,实时预测正弦波数值——这正是我们将要探索的奇妙旅…...
LaTeX投稿IEEE期刊,编辑让我改排版?别慌,这份单栏+双倍行距+行号配置指南帮你搞定
LaTeX投稿IEEE期刊排版急救指南:单栏、双倍行距与行号配置实战 收到期刊编辑的格式修改意见时,那种"明明内容没问题却卡在排版细节"的焦虑感,每个科研人都深有体会。上周我刚帮同事处理完一份被要求"单栏双倍行距行号"的…...
一文读懂计算机视觉需要哪些数学基础
一文读懂计算机视觉需要哪些数学基础 标签:#计算机视觉、#线性代数、#人工智能、#深度学习、#自然语言处理、#神经网络、#机器学习### 一、痛点引入:为什么很多人怕CV数学?真相是什么?### 二、CV必备数学:必须掌握的和…...
ccmusic-database实战教程:结合plot.py可视化训练曲线与混淆矩阵
ccmusic-database实战教程:结合plot.py可视化训练曲线与混淆矩阵 1. 引言:为什么需要可视化? 当你训练一个音乐流派分类模型时,最让人头疼的是什么?是漫长的等待,还是看着一堆冰冷的数字,却不…...
2026最权威的六大AI科研方案实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 作为具有先进性的大语言模型的DeepSeek,在论文写作里能够发挥出有着多种不同情况…...
SDMatte性能基准测试报告:不同硬件配置下的吞吐量与延迟
SDMatte性能基准测试报告:不同硬件配置下的吞吐量与延迟 1. 测试背景与目的 SDMatte作为一款专业的图像抠图工具,其性能表现直接影响实际业务中的处理效率。本次测试旨在为开发者提供客观的性能数据参考,帮助用户根据业务需求和预算选择最适…...
Graphormer保姆级教程:从服务器选购(RTX4090)到服务上线全生命周期
Graphormer保姆级教程:从服务器选购(RTX4090)到服务上线全生命周期 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该…...
