那些在算法中适合巩固的知识点---1
耐心是成功的唯一秘诀1.lamada表达式是什么auto cmp [](ListNode * a,ListNode * b){ return a-val b-val; } priority_queueListNode*, vectorListNode*, decltype(cmp) heap(cmp);先来复习一下lamda表达式中的[ ]( ){ }中分别放的什么意思①[]- 捕获列表指定外部变量如何在 Lambda 内部使用[]不捕获任何变量-只能使用参数[]值传递捕获所有变量❌ 不能修改拷贝一份只读[]引用传递捕获所有变量✅ 可以修改直接引用原变量[x]值传递捕获变量 x❌ 不能修改只捕获 x[x]引用传递捕获变量 x✅ 可以修改只捕获 x[, x]值传递捕获所有x 用引用x 可修改混合捕获[, x]引用传递捕获所有x 用值x 不可修改混合捕获[this]捕获当前对象的 this✅ 可以修改在类中使用②-参数列表和普通函数的参数一样auto lambda1 []() { return 10; }; // 无参数 auto lambda2 [](int a) { return a * 2; }; // 一个参数 auto lambda3 [](int a, int b) { return a b; }; // 多个参数 auto lambda4 [](ListNode* node) { return node-val; }; // 自定义类型③{ } - 函数体具体的函数实现和普通函数没有什么区别总的来说lamda表达式其实就是一个简易函数而前面我们说的cmp就是这个函数的函数名2.怎么在算法中创建堆?auto cmp [](ListNode * a,ListNode * b) { return a-val b-val; } priority_queueListNode*, vectorListNode*, decltype(cmp) heap(cmp);上面的cmp中的 a-value b-val,表示这个是小根堆cmp给heap传给构造参数的意思默认不写比较器的lamda函数实现的是小根堆想要实现大根堆就自定义lamda函数并且将其中的a-val b-val 写成 a-val b-val为什么a-val b-val 反而实现的是小根堆呢因为priority_queue的比较逻辑是当比较器返回true时第一个参数被认为优先级更低。所以a-val b-val让值大的节点优先级低值小的节点优先级高自然就形成小根堆值小的在顶部。参数1 (Type) 队列中存什么类型的数据参数2 (Container) 用什么容器来存储这些数据参数3 (Compare) 用什么规则来比较大小记忆点为什么建堆的类型是优先队列优先队列和堆的关系是什么这是因为堆本质上是队列的一个变种由队列的先进先出变种成出去的时候是优先级更高的先出去所以堆也叫做优先级队列3.vectorint s{0}和vectorint s的区别是什么所以不是所有的变量都要有初始值的4.如何判断一个数在不在hash表中(count)hash.count(x); 如果在的话返回true不在的话返回falsehash.count的时间复杂度是O(1),count的底层逻辑看的是key5.hash[x]返回的究竟是什么如果x是下标的话呢hash[x]返回的就是x下标对应的value,如果x是值的话呢hash[x]返回的就是下标6.unordered_map和unordered_set的区别是什么7.中心扩展算法用于处理回文字符串问题先固定一个中心点从中心点开始向两边扩展奇数长度以及偶数长度都需要考虑当是偶数的时候要先让left或者right走一步然后再进行向两边拓展class Solution { public: string longestPalindrome(string s) { //中心拓展算法 int begin 0; int end 0; int ns.size(); int len 0; for(int i0;in;i) //依次枚举每一个中心结点 { int left i; int right i; //进行奇数次的中心拓展 while(left0 right n s[left] s[right]) { left--; right; } //更新最长回文子串的长度 if(right-left-1 len) { begin left1; len right-left-1; } //进行偶数次的中心拓展 left i; right i1; while(left0 right n s[left] s[right]) { left--; right; } //更新最长回文子串的长度 if(right-left-1 len) { begin left1; len right-left-1; } } return s.substr(begin,len); } };8.什么是高精度加减乘除所谓的高精度就是位数多到我们的double都没办法存储对于它的加减乘除计算我们要使用模拟的方法而它的背后是对我们小学学习的列竖式的模拟9.在算法题中怎么进行数字和字符的转换10.字符串相乘我们这里说的字符串其实就是高精度数字对于这样的数字想要进行乘法接着使用传统的模拟乘法运算的列竖式是不够的细节太多很容易出错所以我们应该使用的是无进位相乘再相加的方法这种方法的好处在于处理的细节会变少class Solution { public: string multiply(string num1, string num2) { reverse(num1.begin(),num1.end()); reverse(num2.begin(),num2.end()); int mnum1.size(); int nnum2.size(); vectorint result(mn-1); for(int i0;in;i) { for(int j0;jm;j) { result[ji] (num2[i]-0)*(num1[j]-0); } } string ret; int t0; int cur 0; while(cur mn-1 || t!0) { if(curresult.size()) t result[cur]; ret t%100; t/10; } //处理前导0 while(ret.size()1 ret.back() 0) //result.size()1这是为了防止当只有一个0的时候还被删除掉 { ret.pop_back(); } reverse(ret.begin(),ret.end()); return ret; } };

相关新闻

数学建模竞赛Word模板全解析:从规范排版到高效协作实战指南

数学建模竞赛Word模板全解析:从规范排版到高效协作实战指南

1. 项目概述:一份能让你“抄近道”的竞赛宝典如果你正在准备全国大学生数学建模竞赛,或者对这个被誉为“一次参赛,终身受益”的大学顶级赛事心向往之,那么你大概率听说过或者正在寻找一样东西:一份靠谱的、能直接上手用…

2026/8/27 11:12:43 阅读更多 →
基于微信小程序的敏感内容智能识别的某某派出所举报系统(源码+lw+部署文档+讲解等)

基于微信小程序的敏感内容智能识别的某某派出所举报系统(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/27 11:12:43 阅读更多 →
特征重要性分析:从XGBoost到SHAP,提升模型可解释性与临床洞见

特征重要性分析:从XGBoost到SHAP,提升模型可解释性与临床洞见

1. 项目概述:从竞赛题目到实战建模拿到2023年研究生数学建模竞赛E题,特别是问题一b关于“血肿扩张风险相关因素探索建模”时,很多队伍会卡在模型构建后的“黑箱”阶段。模型跑出来了,AUC值也不错,但评委老师或临床医生…

2026/8/28 11:36:58 阅读更多 →

最新新闻

混合检索实战:稀疏检索、语义检索与LLM重排在ADHD症状识别中的应用

混合检索实战:稀疏检索、语义检索与LLM重排在ADHD症状识别中的应用

随着心理健康文本挖掘逐渐成为 NLP 和 IR 领域的热门方向,类似 eRisk 这种早期风险预测任务也越来越多地出现在研究者和工程师的视野中。eRisk 2026 Task 3 围绕 ADHD 症状句子的识别与筛选展开,本质上是一个很典型的“先召回,再排序”的信息…

2026/8/28 14:13:03 阅读更多 →
AI定价没坏,坏的是成本归因与用量统计没做对

AI定价没坏,坏的是成本归因与用量统计没做对

先回答标题里的问题:AI pricing 没有坏,坏的是我们用了错误的方式去设计它。很多团队的 AI 应用上线后,不是没有用户,而是一跑量就开始亏钱,或者用户根本不敢继续用,因为每次调用的费用像一团黑盒。于是大家…

2026/8/28 14:13:03 阅读更多 →
JS实战训练套件:反爬、音源解析与Bootstrap工程化改造

JS实战训练套件:反爬、音源解析与Bootstrap工程化改造

简介:JavaScript不仅是网页交互脚本,更是现代Web数据流转与安全对抗的核心引擎。理解其执行上下文、事件循环与浏览器环境建模,是开展JS反爬实战、JS逆向分析及动态音源解析的技术基础。从lxmusic音源JS在线调用到影视网站反爬逻辑复现&#…

2026/8/28 14:13:03 阅读更多 →
端侧智能体实战:基于LFM2.5-2.6B的离线Agent搭建指南

端侧智能体实战:基于LFM2.5-2.6B的离线Agent搭建指南

这两年,大模型 Agent 的概念已经不算新鲜了,但大多数 Agent 仍然跑在云端 API 后面——用户发一句指令,请求先经过网络,到服务器上调用大模型,再把结果返回给设备。这种模式能力很强,却很难覆盖弱网、隐私敏…

2026/8/28 14:13:03 阅读更多 →
DeepSeek API涨价应对指南:成本优化与多模型切换实践

DeepSeek API涨价应对指南:成本优化与多模型切换实践

如果你的团队正在用 DeepSeek API 搭建智能客服、代码助手或者 Agent 类产品,最近应该已经注意到一个信号:DeepSeek 宣布大幅上调 API 价格。对还在测试期的项目来说,这可能只是“以后要注意成本”的一条新闻;但对已经进入稳定调用…

2026/8/28 14:13:03 阅读更多 →
Java联机游戏开发:从Swing到Socket的实战指南

Java联机游戏开发:从Swing到Socket的实战指南

简介:网络编程与游戏开发是计算机科学中两个重要的实践领域。网络编程的核心在于实现不同设备间的数据通信,其基础原理涉及客户端-服务器模型、Socket通信协议以及数据序列化等技术。在游戏开发中,实时状态同步和低延迟交互是关键技术价值所在…

2026/8/28 14:12:02 阅读更多 →

日新闻

2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

2026高校论文查重AIGC双检严查常态化。 市面上绝大多数AI论文工具依旧存在明显短板:模板感重、AI痕迹超标、改写毁逻辑、收费套路多、查重不准、格式适配差。 在全网工具普遍“偏科”的现状下,Paperxie凭借全维度均衡实力脱颖而出,成为适配…

2026/8/28 0:00:11 阅读更多 →
从国赛作品到产品:自研内网穿透工具的核心架构与实战优化

从国赛作品到产品:自研内网穿透工具的核心架构与实战优化

1. 从“国赛二等奖”到真实可用的内网穿透工具:我们做了什么去年,我和团队带着一个自研的内网穿透工具项目,一路闯进了全国性的创新设计大赛,最终拿下了国赛二等奖。说实话,领奖的时候心情很复杂,一方面是激…

2026/8/28 0:00:11 阅读更多 →
20行Python代码构建AI Agent:从零理解智能体核心原理与实现

20行Python代码构建AI Agent:从零理解智能体核心原理与实现

1. 项目概述:从零到一的AI Agent初体验 最近几年,AI Agent这个概念火得不行,感觉身边搞技术的朋友都在聊。但说实话,很多刚入门的朋友一听到“Agent”,就觉得特别高大上,联想到电影里那种无所不能的智能体&…

2026/8/28 0:00:11 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 11:23:26 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/27 17:46:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/27 20:00:17 阅读更多 →