#include<vector>
#include<map>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @param target int整型
* @return int整型vector
*/
vector<int> twoSum(vector<int>& nums, int target) {
// write code here
unordered_map<int,int>m;
vector<int>returnv;
for(int i=0;i<nums.size();i++){
int targetkey=target-nums[i];
if(m.count(targetkey)!=1){
m.insert(make_pair(nums[i],i+1));
}
else if(m.count(targetkey)==1){
returnv.push_back(m[targetkey]);
returnv.push_back(i+1);
return returnv;
}
}
return returnv;
}
};
// #include<vector>//暴力循环超时
// class Solution {
// public:
// /**
// * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
// *
// *
// * @param nums int整型vector
// * @param target int整型
// * @return int整型vector
// */
// vector<int> twoSum(vector<int>& nums, int target) {
// // write code here
// vector<int>returnv;
// for(int i=0;i<nums.size();i++){
// for(int j=0;j<nums.size();j++){
// if(nums[i]+nums[j]==target){
// returnv.push_back(i+1);
// returnv.push_back(j+1);
// return returnv;
// }
// }
// }
// return returnv;
// }
// };