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

[两数之和](哈希表做法)

在这里插入图片描述

实现

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> hash;  // 存储数字和对应的索引for(int i = 0; i < nums.size(); i++) {// 查找需要的补数auto it = hash.find(target - nums[i]);// 如果补数存在且不是当前元素本身if(it != hash.end()) {return {it->second, i};  // 返回两个索引}// 将当前数字和索引存入哈希表hash[nums[i]] = i;}return {};  // 理论上不会执行到这里(题目保证有解)}
};

思路

1. 哈希表初始化
unordered_map<int, int> hash;
  • 键(key):数组中的数字
  • 值(value):该数字对应的索引
2. 遍历处理每个元素
for(int i = 0; i < nums.size(); i++) {auto it = hash.find(target - nums[i]);  // 查找补数// ...
}
3. 查找和返回逻辑
if(it != hash.end()) {return {it->second, i};  // 返回[补数索引, 当前索引]
}
hash[nums[i]] = i;  // 存储当前数字
http://www.xdnf.cn/news/18736.html

相关文章:

  • 【Python】新手入门:为什么需要类型注解?如何使用Mypy进行静态类型检查?复杂类型注解语法是怎么样的?
  • JH-14回柱绞车优化设计cad+设计说明书+绛重
  • 攻防世界—Confusion1—(模板注入ssti)
  • ADC系统中的信噪比(SNR)
  • Python训练营打卡Day41-Grad-CAM与Hook函数
  • MySQL奔溃,InnoDB文件损坏修复记录
  • Codeforces Round 1043 (Div. 3)
  • 【Win10 画图板文字方向和繁体问题】
  • Python爬虫实战:构建港口物流数据采集和分析系统
  • 关于链式二叉树的几道OJ题目
  • 【Redis 进阶】----主从复制(重点理解流程和原理)
  • 【200页PPT】IT战略规划架构设计报告(附下载方式)
  • Linux服务器systemd服务配置详细指南
  • 《解构React Server Components:服务端序列化与流式传输的底层逻辑》
  • Redis优缺点
  • 可视化-模块1-HTML-01
  • TCP:传输控制协议
  • 【前端面试题✨】HTML 篇(一)
  • Java22 stream 新特性 窗口算子:GathererOp 和 GatherSink
  • 机器人控制基础:串级PID控制算法的参数如何整定?
  • 【读论文】Qwen-Image技术报告解读
  • iperf2 vs iperf3:UDP 发包逻辑差异与常见问题
  • 力扣(组合)
  • 人工智能时代下普遍基本收入(UBI)试验的实践与探索——以美国硅谷试点为例
  • LeetCode Hot 100 第二天
  • Java—— 配置文件Properties
  • 【Java SE】抽象类、接口与Object类
  • 秋招面试准备
  • 设计模式详解
  • TypeScript变量声明讲解