Two Sum

来源:互联网 发布:飞翔软件gaemgem下载 编辑:程序博客网 时间:2024/04/28 09:39

没有重复元素的情况下,用map做的

class Solution {public:    map<int,int> mp;    vector<int> twoSum(vector<int> &numbers, int target) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        mp.clear();        for(int i=0;i<numbers.size();i++)            mp[numbers[i]]=i+1;        int i,j;        for(i=1;i<=numbers.size();i++){            int left=target-numbers[i-1];            if(mp.count(left)!=0){                j=mp[left];                break;            }        }        vector<int> tmp;        if(i>j){            int temp=i;            i=j;            j=temp;        }        tmp.push_back(i);        tmp.push_back(j);        return tmp;    }};


原创粉丝点击