算法35 力扣twosum

哈希表

初始:将key通过hash function转换到地址
查询:将查询值通过哈希转换,访问内存地址,对比key值

使用

查询key值,O(k)

class Solution {
public:
    vector<int> twoSum(vector<int> nums,int t){
        unordered_map<int,int> numbook;//哈希表 nums[i]-key i-value
        for(int i=0;i<nums.size();i++){
            auto a = numbook.find(t-nums[i]);//返回迭代器,若不存在返回end
            if(a!=numbook.end()){
                return {i,a->second};//返回value
            }
            hashtable[nums[i]] = i;
        }
        return{};
    }
};
原文地址:https://www.cnblogs.com/impw/p/15714294.html