leetcode 1两数之和
使用哈希的方法:先将nums哈希表化,再遍历nums,寻找-nums[i]如果存在则为题目所求
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { //使用哈希表 vector<int> re; unordered_map<int,int> m; for(int i=0;i<nums.size();i++){ m[nums[i]]=i; } for(int i=0;i<nums.size();i++){ int temp=target-nums[i]; if(m.count(temp)>0&&m[temp]!=i){ int j=m[temp]; if(i>j) swap(i,j); re.push_back(i); re.push_back(j); break; } } return re; } };