/*
unordered_map<int, int> mp
mp.find(val)!=mp.end()
mp.count(val)!=0
*/
class Solution {
public:
    /**
     * 
     * @param numbers int整型vector 
     * @param target int整型 
     * @return int整型vector
     */
    vector<int> twoSum(vector<int>& numbers, int target) {
        unordered_map<int,int> mp;
        for(int i=0;i<numbers.size();i++){
            if(mp.find(numbers[i])!=mp.end()){ // 该互补数存在另一个数的位置
                return {mp[numbers[i]]+1,i+1}; // return {a,b}自动返回vector类型
            }else{
                mp[target-numbers[i]]=i; // 在其互补的数上存放其位置
            }
        }
        return {-1,-1};
    }
};