力扣1两数之和-创新互联
                                            首先上我的暴力做法:

class Solution {
public:
    vectortwoSum(vector& nums, int target) {
        vectorT;
    if (nums.size()==1)
    {
        if (nums[0]==target)
        {
            T.push_back(0);
            return T;
        }
    } 
    for (int i = 0; i< nums.size(); i++)
    {
        for (int j = i+1; j< nums.size(); j++)
        {
            if (nums[i]+nums[j]==target)
            {
                T.push_back(i);
                T.push_back(j);
                return T;
            }
        }
    }
    return T;
    }
};   再看看官方的做法:

class Solution {
public:
    vectortwoSum(vector& nums, int target) {
        unordered_maphashtable;
        for (int i = 0; i< nums.size(); ++i) {
            auto it = hashtable.find(target - nums[i]);
            if (it != hashtable.end()) {
                return {it->second, i};
            }
            hashtable[nums[i]] = i;
        }
        return {};
    }
};   对比得出我的做法说说我学到的东西:
①我的做法时间开销很大
②学到了unordered_map这种新型的数据结构
③学到了用哈希表存储的方法这种以空间换时间的方法
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
名称栏目:力扣1两数之和-创新互联
转载来于:http://www.scyingshan.cn/article/ephep.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 