龙岗-网站建设深圳信科网站建设公司北京华网天下实惠

张小明 2026/1/1 15:55:47
龙岗-网站建设深圳信科,网站建设公司北京华网天下实惠,端州网站建设,江津哪里找做网站的核心思路回顾通过哈希表存储「已遍历元素值 → 下标」的映射#xff0c;遍历数组时计算当前元素的 “补数”#xff08;目标值 - 当前值#xff09;#xff0c;若补数存在于哈希表中#xff0c;则直接返回结果#xff1b;若不存在#xff0c;将当前元素存入哈希表#…核心思路回顾通过哈希表存储「已遍历元素值 → 下标」的映射遍历数组时计算当前元素的 “补数”目标值 - 当前值若补数存在于哈希表中则直接返回结果若不存在将当前元素存入哈希表继续遍历。详细解题步骤假设输入为vectorint nums和int target最终返回vectorint类型的下标数组具体步骤如下步骤 1引入必要头文件 命名空间C 中需要引入vector存储数组和unordered_map哈希表的头文件并用using namespace std;简化代码也可显式写std::cpp运行#include vector // 用于存储数组和返回结果 #include unordered_map // 哈希表容器 using namespace std;步骤 2定义函数 初始化哈希表函数返回值为vectorint参数为数组引用nums和目标值target创建空的unordered_map键为元素值int值为元素下标intcpp运行vectorint twoSum(vectorint nums, int target) { // 初始化哈希表键元素值值元素下标 unordered_mapint, int hashMap;步骤 3遍历数组逐个检查补数使用for循环遍历数组i为当前元素下标nums[i]为当前元素值计算补数complement target - nums[i]需要找到的另一个数检查补数是否在哈希表中若存在返回哈希表中补数对应的下标 当前下标i若不存在将当前元素值和下标存入哈希表继续遍历。代码实现cpp运行// 遍历数组i为下标nums[i]为当前元素 for (int i 0; i nums.size(); i) { int complement target - nums[i]; // 计算补数 // 检查补数是否在哈希表中find返回迭代器end()表示未找到 if (hashMap.find(complement) ! hashMap.end()) { // 找到则返回结果补数下标 当前下标 return {hashMap[complement], i}; } // 未找到则将当前元素和下标存入哈希表 hashMap[nums[i]] i; }步骤 4兜底返回语法要求题目保证输入必有唯一答案因此此处仅为满足函数语法要求返回空数组cpp运行// 题目保证有解此处仅兜底 return {}; }步骤 5测试函数可选编写main函数测试示例用例验证结果正确性cpp运行#include iostream // 用于输出结果 int main() { // 示例1nums [2,7,11,15], target 9 vectorint nums1 {2, 7, 11, 15}; int target1 9; vectorint res1 twoSum(nums1, target1); cout 示例1结果[ res1[0] , res1[1] ] endl; // 示例2nums [3,2,4], target 6 vectorint nums2 {3, 2, 4}; int target2 6; vectorint res2 twoSum(nums2, target2); cout 示例2结果[ res2[0] , res2[1] ] endl; // 示例3nums [3,3], target 6 vectorint nums3 {3, 3}; int target3 6; vectorint res3 twoSum(nums3, target3); cout 示例3结果[ res3[0] , res3[1] ] endl; return 0; }关键步骤解析以示例 2 为例nums [3,2,4], target 6遍历次数下标 i当前值 nums [i]补数 complement哈希表状态存入前检查结果哈希表状态存入后1036-33空未找到补数{3:0}2126-24{3:0}未找到补数{3:0, 2:1}3246-42{3:0, 2:1}找到补数 2下标 1无需存入最终返回[1, 2]符合示例 2 结果。暴力解法的解题步骤对比参考若用暴力法步骤如下时间复杂度 O (n²)外层循环遍历每个元素下标i从 0 到nums.size()-1内层循环遍历i之后的元素下标j从i1到nums.size()-1检查nums[i] nums[j] target若满足则返回{i, j}题目保证有解无需处理无结果情况。暴力法代码cpp运行vectorint twoSum(vectorint nums, int target) { int n nums.size(); for (int i 0; i n; i) { for (int j i 1; j n; j) { if (nums[i] nums[j] target) { return {i, j}; } } } return {}; }核心注意点哈希表选择unordered_map是哈希表查找 / 插入平均 O (1)若用map红黑树时间复杂度会升至 O (logn)效率更低避免重复元素先检查补数再存入当前元素确保不会使用同一个元素如示例 3 的 [3,3]返回值C 中直接返回vectorint满足 “返回数组下标” 的要求。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

asp.net网站开发视频教程wordpress付费服务器

Linux系统实用软件与图像处理全攻略 1. 轻量级文字处理软件AbiWord 如果你觉得OpenOffice.org的Writer功能过于强大,日常使用中想要一款点击启动器就能快速打开的文字处理软件,那么AbiWord是个不错的选择。它的界面简单易用,即使没有太多帮助,你也能轻松上手。其自动调整…

张小明 2026/1/1 15:55:46 网站建设

新塘网站设计中天会展中心网站建设方案

5分钟掌握智能情绪识别:让AI读懂人类表情 【免费下载链接】face-emotion-recognition Efficient face emotion recognition in photos and videos 项目地址: https://gitcode.com/gh_mirrors/fa/face-emotion-recognition 想要让计算机真正理解人类情绪吗&am…

张小明 2026/1/1 15:55:11 网站建设

西安网站建设qq群号网站设计项目书

第一章:实在智能 Open-AutoGLM 落地难题全解析,90%团队忽略的3个核心陷阱在企业级AI自动化场景中,Open-AutoGLM作为实在智能推出的开源大模型驱动框架,正逐步被应用于RPA流程优化、智能文档处理等关键任务。然而,许多团…

张小明 2026/1/1 15:54:00 网站建设

dede网站漏洞科技核心期刊

MTK设备BROM连接故障:5步实战修复指南 【免费下载链接】bypass_utility 项目地址: https://gitcode.com/gh_mirrors/by/bypass_utility 当你在使用MTK刷机工具时遇到"Protection disabled"提示迟迟不出现,或者设备连接后毫无反应&…

张小明 2026/1/1 15:53:22 网站建设

怎样做网站优化排名自己的网站发文章怎么做外链

第一章:Open-AutoGLM沉思功能的核心价值Open-AutoGLM 的“沉思”功能是一种创新的推理增强机制,旨在提升大语言模型在复杂任务中的逻辑连贯性与输出质量。该功能通过多轮自我反馈与语义重构,使模型能够在生成回答前进行内部评估与优化&#x…

张小明 2026/1/1 15:52:48 网站建设

定西市建设局官方网站市场营销策划案怎么写

笨笨提示词收藏器浏览器插件下载及使用教程:新增收藏功能,导入导出支持分类 关键词:提示词收藏器、AI 提示词管理、提示词插件、提示词分类、提示词导入导出 AI 提示词管理工具 提示词管理 提示词没地方保存 AI 提示词管理工具 提示词收藏器…

张小明 2026/1/1 15:52:10 网站建设