题目
题解
- 暴力枚举法
- 哈希表
哈希表的键为数组元素的值
哈希表的值为元素下标
代码
// class Solution {
// public:
// vector<int> twoSum(vector<int>& nums, int target) {
// int n=nums.size();
// for(int i=0;i<n-1;i++){
// for(int j=i+1;j<n;j++){
// if(nums[j]==target-nums[i])
// return {i,j};
// }
// }
// return {-1,-1};
// }
// };
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> haxi;
for(int i=0;i<nums.size();i++){
auto it=haxi.find(target-nums[i]);
if(it!=haxi.end())
return {i,it->second};
haxi[nums[i]]=i;
}
return {};
}
};