题解 | #两数之和#
两数之和
https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f
#include <unordered_map> class Solution { public: /** * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector<int> twoSum(vector<int>& numbers, int target) { // write code here vector<int> res; unordered_map<int, int>hash;//建立一个哈希表 //在哈希表中查找target-numbers[i] for(int i=0;i<numbers.size();i++) { int temp=target-numbers[i]; if(hash.find(temp)==hash.end())//没找到将信息计入哈希表 { hash[numbers[i]]=i;//table_name[key]=value; } else {//找到的话将位序计入vector res.push_back(hash[temp]+1);//temp的位序 res.push_back(i+1);//numbers[i]的位序 break; } } return res; } };