标签:href pre mic second find 空间 空间复杂度 code 没有
leetcode - 1:https://leetcode-cn.com/problems/two-sum/
题目比较简单,暴力过很容易,不过借助hash可以降低时间复杂度,但是增加了空间的消耗。学习了hashmap的使用 key:value
map<int, int> mArr
,第一个是key的类型,第二个是value的类型 mArr[key] = value
find
方法在找不到的情况下,通过 .end()
来判断有没有找到 mArr.find(x)!=mArr.end()
mArr.find(x)
方法得到的是一个 迭代器 ,通过 ->first
得到 key
,->second
得到 value
vector<int> twoSum(vector<int>& nums, int target) {
map<int, int> mArr;
int i=0;
for(i=0;i<nums.size();i++){
mArr[nums[i]]=i;
}
for(i=0;i<nums.size();i++){
if(mArr.find(target-nums[i])!=mArr.end() && i!=mArr.find(target-nums[i])->second)
return {i,mArr.find(target-nums[i])->second};
}
return {};
}
标签:href pre mic second find 空间 空间复杂度 code 没有
原文地址:https://www.cnblogs.com/baboon/p/13022376.html