2个数和等于一个目标值-leepcode

这是我的解答用hashmap实现算法复杂度为N

#include <map>  

using namespace std;

class Solution {

public:

    vector<int> twoSum(vector<int>& nums, int target) {

        vector<int> res;

        int i =0;

        map<int,int> map1;

        for(i=0;i<nums.size();i++)

        {

            if( map1.end()!=map1.find(target-nums[i]))

            {

                res.push_back(map1[target-nums[i]]+1);

                res.push_back(i+1);

                return res;

            }

            map1.insert(make_pair(nums[i],i));

        }

   

    

    return res;

    }

};

点赞