class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector<int> twoSum(vector<int>& nums, int target) { int i=0; int len=nums.size(); unordered_map<int,vector <int>>hash; for(i=0;i<len;i++) { hash[nums[i]].push_back(i); } vector <int>ans; for(i=0;i<len;i++) { int m=target-nums[i]; if(m==nums[i]) { if(hash[nums[i]].size()>1) { ans.push_back(hash[nums[i]][0]+1); ans.push_back(hash[nums[i]][1]+1); return ans; } } else { if(hash.count(m)) { ans.push_back(i+1); ans.push_back(hash[m][0]+1); return ans; } } } return ans; } };