【剑斩OFFER】算法的暴力美学——两数之和

一、题目描述

二、算法原理

思路:差值 + 哈希表

假设我们遍历到 7 这个数字,此时 7 前面的数字都放到哈希表里面,当然不能把 7 也题目放到这个哈希表里面,原因待会说,如果 target - 7 = 2 存在于这个哈希表中,那么符合题目要求,因为 2 + 7 = 9 ,那为什么不能提前把 7 放到哈希表中呢?答:假设哈希表里面只有一个数字 1,taget = 4,此时刚好遍历到数字 2 ,如果我们提前把 2 放到哈希表里面,那么 target - 2 = 2 ,这个 2 刚好在哈希表里面,此时我们返回的值是错误的,不符合题目要求的。

三、代码实现

cpp 复制代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int,int> hash;
        for(int i = 0;i < nums.size();i++)
        {
            int cur = target - nums[i];//差值
            if(hash.find(cur) != hash.end()) return {hash[cur],i};//查找差值是否存在
            hash[nums[i]] = i;
        }
        return {};
    }
};
相关推荐
鱼跃鹰飞7 小时前
面试题:树形结构演进与核心问题解决方案
数据结构·b树·散列表
努力变大白7 小时前
物流路径优化系统的算法设计与实现:从理论到实践的完整探索
算法
黛色正浓7 小时前
leetCode-热题100-二叉树合集(JavaScript)
javascript·算法·leetcode
rchmin7 小时前
线性数据结构关系与实现解析
数据结构
zl_vslam7 小时前
SLAM中的非线性优-3D图优化之地平面约束(十四)
算法·计算机视觉·平面·3d
炽烈小老头8 小时前
【每天学习一点算法 2026/01/05】打乱数组
学习·算法·leetcode
CoovallyAIHub8 小时前
当特斯拉FSD在高速狂奔时,SCCA-YOLO如何看清偏远乡村道路的复杂场景?
深度学习·算法·计算机视觉
CoovallyAIHub8 小时前
工业质检只能依赖缺陷样本?PatchCore给出“冷启动”答案
深度学习·算法·计算机视觉
.小墨迹9 小时前
cmake的add_definitions和target_compile_definitions使用
c++·学习·算法·ubuntu·机器学习
高洁019 小时前
10分钟了解向量数据库(2)
深度学习·算法·机器学习·transformer·知识图谱