1. 两数之和

https://leetcode-cn.com/problems/two-sum/

解法一:哈希表

利用hashmap迅速查找,一遍遍历,填充map的同时进行比对判断。

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        map<int, int> hash;
        vector<int> result;
        for(int i = 0; i < nums.size(); i++){
            int num_to_find = target - nums[i];//要找的数
            map<int, int>::const_iterator iter = hash.find(num_to_find);
            //若iter访问到end,说明没找到
            if(iter != hash.end()){
                result.push_back(i);
                result.push_back(iter->second);
                return result;
            }
            hash[nums[i]] = i;
        }
    }
};

py:

js:

最后更新于