LeetCode Hot100(1.两数之和)
1.两数之和题目给定一个整数数组nums和一个整数目标值target请你在该数组中找出和为目标值target的那两个整数并返回它们的数组下标。你可以假设每种输入只会对应一个答案并且你不能使用两次相同的元素。你可以按任意顺序返回答案。示例 1输入nums [2,7,11,15], target 9输出[0,1]解释因为 nums[0] nums[1] 9 返回 [0, 1] 。示例 2输入nums [3,2,4], target 6输出[1,2]示例 3输入nums [3,3], target 6输出[0,1]解法一双for循环暴力查找代码class Solution { public: vectorint twoSum(vectorint nums, int target) { for (int i 0; i nums.size(); i) { int nums2 target - nums[i]; for(int ji1;jnums.size();j){ if(nums[j]nums2){ return{i,j}; } } } return{}; } };注意1.vectorint nums引用传递含义传递的是原vector的引用别名不会创建新的副本。优点非常高效节省了拷贝数据所需的时间和内存。2.vectorint nums值传递含义传递的是原vector的完整副本。优点在函数内部修改nums不会影响外部原始数据。缺点每次调用函数都需要复制整个vector。如果数据量大会消耗大量时间和内存在 LeetCode 中极易导致超时Time Limit Exceeded。注意在函数内部对nums的任何修改都会直接改变外部的原始数据。解法二哈希查找哈希表在 C 中std::unordered_map哈希表提供了许多实用的成员函数。以下是在刷题时最常用的几类函数unordered_mapint, int hashtable1. 查找与访问count(key)返回key在 map 中出现的次数。因为 key 是唯一的所以返回值只能是0不存在或1存在。常用于判断某个 key 是否存在。find(key)返回一个迭代器。如果找到指向该元素如果没找到指向end()。at(key)返回 key 对应的 value。如果 key 不存在会抛出异常比直接用[]访问更安全。2. 插入与修改map[key] value如果 key 存在则修改其 value如果 key 不存在则插入新的键值对。这是“两数之和”中最常用的写法。insert({key, value})或emplace(key, value)插入键值对。注意如果 key 已存在它们不会覆盖原有的 value这与[]的行为不同。3. 删除erase(key)删除指定 key 的键值对。4. 状态与容量size()返回 map 中当前有多少个键值对。empty()判断 map 是否为空返回true或false。clear()清空 map 中的所有元素。迭代器在 C 中迭代器Iterator可以理解为一种“智能指针”。它的主要作用是提供一种统一的方式来遍历和访问容器如vector、unordered_map中的元素而不需要暴露容器内部的底层数据结构。1. 迭代器是什么你可以把容器想象成一排储物柜而迭代器就是指向某个具体储物柜的“指针”。通过迭代器你可以找到当前指向的储物柜里的内容。你也可以让迭代器移动例如it指向下一个储物柜。2. 在unordered_map中迭代器指向什么对于unordered_mapint, int它的每一个元素都是一个键值对Key-Value pair。在 C 底层这个键值对被封装在一个std::pair结构中。因此find()返回的迭代器实际上是指向了这个pair结构。3. 如何通过迭代器访问元素既然迭代器指向的是一个pair你就可以通过箭头运算符-来分别获取 Key 和 Valueit-first获取 Key键。it-second获取 Value值。代码class Solution { public: vectorint twoSum(vectorint nums, int target) { unordered_mapint,inthashtable; for(int i0;inums.size();i){ auto it hashtable.find(target-nums[i]); if(it!hashtable.end()){ return{i,it-second}; } else{ hashtable[nums[i]]i; } } return{}; } };需要注意的是在本题中因为要寻找target-nums[i]在哈希表中是否出现过因此将数组的值作为哈希表的键利用find()能达到快查的效果。

相关新闻

计算机毕业设计之基于ASP.NET的产品进销存系统设计与实现

计算机毕业设计之基于ASP.NET的产品进销存系统设计与实现

产品进销存系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。产品进销存系统在流畅性,续航能力&…

2026/10/28 10:11:15 阅读更多 →
计算机毕业设计之校园快递代领平台

计算机毕业设计之校园快递代领平台

随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于校园快递代领平台当然也不能排除在外,随着网络技术的不断成熟,带动了校园快递代领,它彻底改变了过去传统的管…

2026/10/28 18:43:08 阅读更多 →
别急着上 LangGraph:小团队上线 Agent 前,先算清权限与日志的账

别急着上 LangGraph:小团队上线 Agent 前,先算清权限与日志的账

如果你正准备往大模型方向转,《别急着上LangGraph,先把成本、边界和失败兜底算清楚》这类问题别只看热度。更重要的是判断自己该补哪块能力,以及怎么证明你真的会。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断…

2026/10/28 8:21:43 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/31 0:19:11 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/30 9:20:34 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/30 10:19:21 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/31 0:59:28 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/30 10:19:39 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/30 9:21:37 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 17:32:24 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 10:28:40 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 0:09:01 阅读更多 →