这是我的解答用hashmap实现算法复杂度为N
#include <map>
using namespace std;class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> res;
int i =0;
map<int,int> map1;
for(i=0;i<nums.size();i++)
{
if( map1.end()!=map1.find(target-nums[i]))
{
res.push_back(map1[target-nums[i]]+1);
res.push_back(i+1);
return res;
}
map1.insert(make_pair(nums[i],i));
}
return res;
}
};

本文介绍了一种使用HashMap来高效求解Two-Sum问题的方法。通过预先存储数组元素及其索引,可以在O(N)的时间复杂度内找到两个数,使它们的和等于给定的目标值。
1845

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



