两数之和

哈希表实现两数之和:用哈希表解决两数之和,我们可以锁定一个数,用目标值减去该数得到n,利用STL中map的count找到哈希表中是否有目标值减去该数得到的值,如果要实现这样的算法,我们需要用将key值保存为原始数组中对应的值,value保存为下标即可实现
注意的是相同的值不能重复使用,所以先判断是否有n,然后再去往哈希表中插入数据
代码如下:
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> v; map<int,int> mp; for(int i = 0;i<nums.size();i++) { if(mp.count(target-nums[i])>0) { v.push_back(i); v.push_back(mp[target-nums[i]]); return v; } mp.insert(make_pair(nums[i],i)); } return v; } };
计算机小白记录学习过程,喜欢就点个推荐和关注吧O(∩_∩)O哈哈~

浙公网安备 33010602011771号