第一种方法是直接双指针遍历。
第二种方法是向哈希表中记录。
vector<int> twoSum(vector<int>& nums, int target)
{
vector<int> res;
map<int, int> rec;
for(int i = 0; i < nums.size(); i++)
{
if(rec.find(nums[i]) != rec.end())
{
res.push_back(rec[nums[i]]);
res.push_back(i);
return res;
}
rec[target - nums[i]] = i;
}
return res;
}
本文介绍了一种解决“两数之和”问题的有效算法。该算法通过使用哈希表来记录目标值与当前元素之间的差值,从而实现快速查找配对元素的目的。这种方法能够显著提高查找效率,避免了传统双指针法可能遇到的数据不连续等问题。
2466

被折叠的 条评论
为什么被折叠?



