class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @param target int整型
* @return int整型vector
*/
vector<int> twoSum(vector<int>& nums, int target) {
// write code here
map<int,int> val_to_id;
vector<int> id_to_val;
for(int i=0;i<nums.size();i++){
val_to_id[nums[i]]=i+1;
id_to_val[i+1]=nums[i];
}
vector<int> res;
for(int i=0;i<nums.size();i++){
int tp=target-id_to_val[i+1];
map<int,int>::iterator it=val_to_id.find(tp);
if(it->second!=0){
res.push_back(i+1);
res.push_back(val_to_id[tp]);
return res;
}
}
}
};