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