https://leetcode.com/problems/two-sum/
根据找出数组中两个数相加等于target,返回数组对应的下标。
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int len = nums.size();
map<int,int> mp;
for(int i = 0;i < len;i++){
mp[nums[i]] = i;
}
map<int,int>::iterator it = mp.end();
vector<int> v;
for(int i = 0;i < len;i++)
{
it = mp.find(target-nums[i]);
if(it != mp.end())
{
int x = min(i,it->second);
int y = max(i,it->second);
//3 2 4,target=6,防止输出是0,0
if(x != y){
v.push_back(x);
v.push_back(y);
break;
}
}
}
return v;
}
};