给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
哈希表解法
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int, int> hashmap;
for (int i = 0; i < nums.size(); ++i)
if (hashmap.count(target - nums[i]))
return {hashmap[target - nums[i]], i};
else
hashmap[nums[i]] = i;
return {};
}
};
注意map在c++中的定义方法,以及给哈希表查出数值的方法用循环map[nums[i]]=i;,
map.count[int],返回指定元素出现的次数结果只能是0or1;(key键值不会重复)