map的应用,特判两数相同的情况
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
int i=1;
map<int,int>m;
for (vector<int>::iterator it = nums.begin();it != nums.end();it++)
{
if(m[*it] && (*it+*it == target) )
return {m[*it]-1,i-1};
m[*it]=i++;
if (m[target-*it] && m[target-*it]!=m[*it])
{
return {m[target-*it]-1,i-2};
}
}
return {};
}
};