做几个小笔记吧:
- c++实现哈希可以使用map,查找map里是否含有某个元素时,使用find方法。时间复杂度logN。判断方法:mmp.find(……)!=mmp.end() 或者用mmp.count()!=0 (字典里的元素数量只可能是0或者1)
- python实现哈希可以使用字典dict。查找dict里是否有某个元素时,使用get()方法。时间复杂度O1.判断方法:dict.get(……)!=None
class Solution {//两遍哈希
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int,int> mmp;
int length=nums.size();
for (int i=0;i<length;i++){
mmp[nums[i]]=i;
}
for(int i=0;i<length;i++){
if( mmp.find(target-nums[i])!=mmp.end() && mmp[target-nums[i]]!=i)
return {i,mmp[target-nums[i]]};
}
return {};
}
};
class Solution {//一遍哈希
public:
vector<int> twoSum(vector<in