欢迎使用CSDN-markdown编辑器

来源:互联网 发布:mamercache缓存php 编辑:程序博客网 时间:2024/06/05 00:40

Two Sum

这是一道比较简单的题,但是如果直接用双重循环,当数组很大的时候,是会超时的,所以这里采用哈希的方式去做。
总结:涉及查找的时候,用哈希的方式显然是快得多的。
代码如下:

class Solution {public:    vector<int> twoSum(vector<int>& nums, int target) {        vector<int>result;        map<int,int>m;        for(int i=0;i<nums.size();i++){            m[nums[i]]=i;        }        map<int,int>::iterator iter;        for(int i=0;i<nums.size();i++){            iter=m.find(target-nums[i]);            if(iter!=m.end()){                if(iter->second==i)continue;                result.push_back(i);                result.push_back(iter->second);                return result;            }        }        return result;    }};
1 0