【发布时间】:2015-11-13 15:31:48
【问题描述】:
任何人都可以解释这段代码的工作原理吗?它是在向量中找到两个元素的索引,这些元素相加以产生给定的目标。我不明白 STL 是如何工作的。
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int,int>m;
vector<int>v;
if(nums.size()==0)
{
return v;
}
for(int i=0;i<nums.size();i++)
{
if(m.find(nums[i])==m.end())
{
m[target-nums[i]]=i+1;
}
else
{
v.push_back(m[nums[i]]);
v.push_back(i+1);
}
}
return v;
}
};
【问题讨论】: