很经典的一道unordered_map题。

public:
    /**
     * 
     * @param numbers int整型vector 
     * @param target int整型 
     * @return int整型vector
     */
    vector<int> twoSum(vector<int>& numbers, int target) {
        unordered_map<int, int> npos;
        vector<int> result(2,0);
        for (int i = 0; i < numbers.size(); i++)
        {
            if (npos.count(target - numbers[i]) != 0)
            {
                result[0] = npos[target - numbers[i]] + 1;
                result[1] = i + 1;
                break;
            }
            else
            {
                npos[numbers[i]] = i;
            }
        }
        sort(result.begin(), result.end());
        return result;
    }
};