1. Two Sum


做题历程:

  1. 应该至少是第二遍了,这次用时8分钟,独立解出

不多说了,经典的Two Sum问题,用Hashmap求解即可,代码如下:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> hashmap;
        vector<int> res(2, 0);
        for (int i = 0; i < nums.size(); ++i) {
            auto found = hashmap.find(nums[i]);
            if (found != hashmap.end()) {
                res[0] = found->second;
                res[1] = i;
                break;
            }
            else {
                hashmap[target-nums[i]] = i;
            }
        }
        return res;
    }
};

results matching ""

    No results matching ""