LeetCode 1.两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例 1:

输入:nums = 2,7,11,15, target = 9

输出:0,1

解释:因为 nums0 + nums1 == 9 ,返回 0, 1 。

示例 2:

输入:nums = 3,2,4, target = 6

输出:1,2

示例 3:

输入:nums = 3,3, target = 6

输出:0,1
代码

复制代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> mp;
        int i = 0;
        for(i = 0; i < nums.size(); i++){
            if(mp[nums[i]] != 0) break; 
            else if(mp[nums[i]] == 0) mp[target-nums[i]] = i + 1;
        }
        vector<int> v;
        v.push_back(mp[nums[i]]-1);
        v.push_back(i);
        return v;
    }
};

y总代码

复制代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> heap;
        for(int i = 0; i < nums.size(); i++){
            int r = target - nums[i];
            if(heap.count(r)) return {heap[r], i};
            heap[nums[i]] = i;
        }
        return {};
    }
};
相关推荐
文丑颜不良啊11 小时前
LeetCode576~600题目解析
java·leetcode
lisw0511 小时前
分岔论揭示演化突变密码
开发语言·算法·数学建模
aqiu11111111 小时前
C++ TopK:使用 nth_element 快速求最小 K 个数(蓝桥杯 / LeetCode 可用)
算法
Suprman11 小时前
平面排版问题的数学建模与算法设计
算法·数学建模·排序算法·排版套料
FPGA信号处理11 小时前
【应用随机过程】:更新过程与马尔可夫链入门
算法·概率论
重生之小比特12 小时前
【算法拾光】二分查找|在排序数组中查找元素的第一个和最后一个位置 + 搜索旋转排序数组
数据结构·算法·排序算法
吴可可12312 小时前
DXF与AAMA格式转换模块推荐
算法
重生之小比特12 小时前
【算法拾光】二分查找|搜索旋转排序数组 + 寻找旋转排序数组中的最小值
算法
YukiRinLL12 小时前
查找与排序算法:复杂度、稳定性
数据结构·算法·排序算法
徐小夕21 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github