当前位置: 首页 > news >正文

常用代码知识

一、算法题常用

1.1 C++STL中哈希表(std::unordered_map和std::unordered_multimap)

unordered_map和unordered_multimap区别在与mult的值可以重复。
方法insert、erase、size、count(统计出现次数)
其他操作:
unordered_map<string, vector<string>> strsMap;该怎么添加元素?

for(inti=0;i<strs.size();i++){string temp=strs[i];sort(temp.begin(),temp.end());//重点strsMap[temp].push_back(strs[i]);}
#include<iostream>#include<unordered_map>intmain(){std::unordered_map<std::string,int>ageMap;// 插入元素ageMap["Alice"]=30;ageMap["Bob"]=25;ageMap["Charlie"]=35;// 访问元素std::cout<<"Alice's age: "<<ageMap["Alice"]<<std::endl;// 查找元素autosearch=ageMap.find("Bob");if(search!=ageMap.end()){std::cout<<"Bob's age: "<<search->second<<std::endl;}return0;}
#include<iostream>#include<unordered_map>// 注意这里用的是 unordered_map 的头文件,因为 multimap 也包含在里面intmain(){std::unordered_multimap<std::string,int>scores;// 插入元素scores.insert({"Alice",90});scores.insert({"Bob",85});scores.insert({"Alice",95});// Alice 有两个分数// 访问元素(演示如何遍历一个键的所有值)autorange=scores.equal_range("Alice");// 获取所有键为 "Alice" 的元素的范围for(std::unordered_multimap<std::string,int>::iterator it=range.first;it!=range.second;++it){std::cout<<"Alice's score: "<<it->second<<std::endl;}return0;}

1.2 unordered_set和unordered_map区别

unordered_set:只存【键 key】,不存值,用来去重 + 快速查找元素是否存在 。
unordered_map:存【键值对 key-value】,用来通过键快速查值 。

#include<unordered_set>usingnamespacestd;intmain(){unordered_set<int>s;// 插入s.insert(10);s.insert(20);s.insert(10);// 重复,自动忽略(去重)// 查找:判断 10 是否存在if(s.count(10)){// 存在}// 遍历:只有 key,没有 valuefor(autox:s){// x 就是存储的元素}}

1.3对于算法题中的字符串问题,可以先考虑对字符串排序

例如:49. 字母异位词分组

http://www.jsqmd.com/news/779662/

相关文章:

  • 科技晚报|2026年5月8日:AI 开始争夺默认入口与治理层
  • 如何在5分钟内为Unity游戏安装XUnity.AutoTranslator:完整自动翻译插件指南
  • 力扣-最后一个单词长度(58)
  • 探讨CSS复合属性的实际应用与交互设计
  • K8S工具增强
  • FPGA信号源设计避坑:10位地址16位数据的正弦查表法,时序和资源怎么权衡?
  • V-REX框架:多步视觉推理评估的创新解决方案
  • 降AI软件哪个好用?看完这篇选工具指南,立省100+降ai费用! - 我要发一区
  • 在 Taotoken 控制台回顾与分析团队月度大模型用量消耗
  • 基于云端OpenClaw的情绪互动机器人系统-Milk-V Duo S + 机器人 端开发(5)
  • 基于Compose Multiplatform的跨平台AI对话应用开发实战
  • 深度神经网络中子高斯变量与极端激活问题解析
  • 机器学习40讲-10:特征预处理
  • AI对话导出神器 - DS随心转
  • 四川盛世钢联国际贸易有限公司钢板频道 -中板|热卷|厚板|薄板|普板 - 四川盛世钢联营销中心
  • V-REX框架:评估视觉推理模型的渐进式问题链方法
  • ARM TechCon演讲提案撰写指南:从技术实践到成功分享
  • Arm Cortex-A720 PMU与多核功耗管理实战解析
  • Autosar CAN开发避坑指南:新手别急着搞驱动,先搞定CANIF和PDUR配置(基于EB tresos实战)
  • Rust 性能陷阱:那些看起来很优雅但很慢的写法(上)
  • 别再删 AI 废片了!3 招零成本拯救,算力省 90%,出片率直接翻倍
  • 知网aigc怎么降下来?实测10个降AI软件后,嘎嘎降效果最佳! - 我要发一区
  • [特殊字符] 全项目架构与代码运转流程(十三)
  • cursorrules:自动生成AI编码规范,提升开发效率
  • 文本匹配任务
  • 【深度解析】自主机器学习工程师 Neo:从 Agent 工作流到聊天内容审核 Pipeline 落地
  • UAE与Prism Hypothesis:统一语义与像素的隐空间方法
  • 从零搭建私有化AI智能体平台:基于Coze-Studio的架构解析与实战部署
  • 马拦过河卒
  • 离网型风力发电机储能系统充放电控制技术