LeetCode.Problem 1 Two Sum

来源:互联网 发布:centos web服务器配置 编辑:程序博客网 时间:2024/06/10 20:16

话不多说,先上代码。

 vector<int> twoSum(vector<int> &numbers, int target) {        vector<int> result;        unordered_map<int,int> mapping;        for(int i=0;i<numbers.size();i++){            mapping.insert({numbers[i],i});        }        for(int i=0;i<numbers.size();i++){            int g=target-numbers[i];            if(mapping.find(g)!=mapping.end()&&mapping[g]!=i){                result.push_back(i);                result.push_back(mapping[g]);                break;            }        }        return result;    }

一开始,想用的是暴力直接解决的,但是不知道为什么LeetCode总是会报错,我自己在闲暇跑一遍完全没问题啊【摊手。

不过想了想暴力解决的话,复杂度是O(n^2)。于是选择用哈希图。但是有一个问题,这里的find函数的复杂度是O(1)吗?

是第一次用关联容器,因为其实还没学到,正在自学C++中!

fighting~

0 0