今天来介绍find函数和end函数
之所以要一起介绍这两个函数是因为当find函数没有找到对应值时会返回一个end函数
我们来举一个实例:
力扣:两数之和
https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-interview-150
哈希表做法思路:
我们将数与其下标存到哈希表中,同时每次都检测有无该数对应的数
代码:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> hashtable;
int n = nums.size();
for(int i = 0;i < n;i ++)
{
auto it = hashtable.find(tareget - nums[i]));//查找
if(it != hashtable.end())//判断有没有找到
{
return {i,it->second}
}
hashtable[nums[i]] = i;
}
return {};
}
};