leetcode_001两数之和

1. 题目

两数之和

2. 题意

找到数组中和为给定值的两个值的坐标。

3. 题解

3.1 暴力

两重循环,直接列举出来。

cpp 复制代码
class Solution1 {
public:
    vector<int> twoSum(vector<int>& nums, int target) {


        vector<int> res;
        int size = nums.size();
        for (int i = 0;i < size; ++i) {
            for ( int j = i + 1; j < size; ++j) {
                if (nums[i] + nums[j] == target) {
                    res={i,j};
                    return res;
                }
            }
        }

        return res;
    }
};

3.2 哈希表

查找hash(val) 是否存在,在表中则取出得到答案;否则将当前位置存入表中hash(target - val)

cpp 复制代码
class Solution2 {
public:
    vector<int> twoSum(vector<int>& nums, int target) {

        unordered_map<int,int> um;
        int sz = nums.size();

        vector<int> res;
        for ( int i = 0;i < sz; ++i) {
            if ( um.find(nums[i]) != um.end() ){
                res = {um[nums[i]], i};
                return res;
            }
            else {
                um[target - nums[i]] = i;
            }
        }


        return res;
    }
};
相关推荐
高洁012 分钟前
知识图谱构建
人工智能·深度学习·算法·机器学习·知识图谱
郝亚军2 分钟前
顺序栈C语言版本
c语言·开发语言·算法
AndrewHZ10 分钟前
【图像处理基石】什么是神经渲染?
图像处理·人工智能·神经网络·算法·cnn·计算机图形学·神经渲染
2401_8414956412 分钟前
【LeetCode刷题】爬楼梯
数据结构·python·算法·leetcode·动态规划·滑动窗口·斐波那契数列
byzh_rc16 分钟前
[模式识别-从入门到入土] 组合分类器
人工智能·算法·机器学习·支持向量机·概率论
没有故事的Zhang同学35 分钟前
04-📦数据结构与算法核心知识 | 动态数组:理论与实践的系统性研究
算法
炽烈小老头40 分钟前
【每天学习一点算法 2025/12/25】爬楼梯
学习·算法·动态规划
睡醒了叭41 分钟前
图像分割-传统算法-阈值分割原理与实践
opencv·算法·计算机视觉
CoovallyAIHub1 小时前
200亿美元“反向收购雇佣”?老黄天价应对谷歌TPU压力
深度学习·算法·计算机视觉
落尘2981 小时前
Catlass 模板库调试调优经验与踩坑记录
算法