leetcode 1 两数之和

Posted 小白进修

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 1 两数之和相关的知识,希望对你有一定的参考价值。

地址:https://leetcode-cn.com/problems/two-sum/
大意:给定一个整数数组和一个目标值,在该数组中找出和为目标值的两个整数,并返回两个整数的数组下标

/**
  * 使用哈希表把数组信息存入,然后循环找到符合要求的值
  * 时间复杂度O(n)
  */
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int,int> mp;
        for(int i = 0 ; i < nums.size() ; i ++){
            mp[nums[i]] = i;
        }
        for(int i = 0 ; i < nums.size() ; i ++){
            if(mp.find(target-nums[i]) != mp.end()){
                if(i != mp[target-nums[i]]){
                    vector<int> v;
                    v.push_back(i);
                    v.push_back(mp[target-nums[i]]);
                    return v;
                }
            }
        }
        return nums;
    }
};

以上是关于leetcode 1 两数之和的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1两数之和

LeetCode——1.两数之和

LeetCode第5天 - 283. 移动零 | 167. 两数之和 II - 输入有序数组

LeetCode 两数之和 twoSum

LeetCode:两数之和

leetcode_01两数之和