map中find()函数的参数是key,返回的是查找到位置的迭代器,如果找不到就返回end()位置的迭代器:
vector<int> twoSum(vector<int>& nums, int target) {
map<int, int> m;
for (int i = 0; i < nums.size(); i++) {
//auto被定义为自动推断变量的类型
auto it = m.find(target - nums[i]);//这里it被自动推断为map<int, int>::iterator
if (it != m.end()) {
return {it->second, i};
}
m[nums[i]] = i;
}
return {};
}
C++中auto被定义为自动推断变量的类型:
auto it = m.find(target - nums[i]); //这里it被自动推断为map<int, int>::iterator类型