题目描述
思路分析
做法很多,这里用哈希表。记录每个数出现的坐标。
直接遍历一遍,在哈希表在查找
t
a
r
g
e
t
−
n
u
m
s
[
i
]
target-nums[i]
target−nums[i]是否出现过即可。
代码实现
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> hash;
for(int i=0;i<nums.size();i++){
int r=target-nums[i];
if(hash.count(r)) return{hash[r],i};
hash[nums[i]]=i;
}
return {};
}
};