您的位置:首页 > 其它

leetcode1--Two Sum

2016-01-04 10:18 573 查看
题目:找出一个序列中和为指定数target的两个数,并返回下标。

思路:采用map,遍历一遍,对每个遍历到的数a,查看target - a是否在序列中,注意target是自身的两倍,不可单独取自身。

代码:

class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int,int> Hash;
vector<int> vec(2);
for(int i = 0; i < nums.size(); i++)
{
Hash[nums[i]] = i;
}

for(int i = 0; i < nums.size(); i++)
{
if(Hash.find(target - nums[i]) != Hash.end() && Hash[target - nums[i]] != i)
{
ans[0] = i + 1;
ans[1] = Hash[target - nums[i]] + 1;
break;
}
}
return vec;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: