力扣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://azwzsj.com/article/ephep.html