class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
unordered_map<int, int> hashtable;
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 {};
}
};
这段代码的
return {it->second, i};
要怎么理解?
来自leecode第一题两数之和。
为什么突然冒出来一个second?
second就是map的值
map<int,int>表示map存储的是多个数对,第一个整数是KEY,第二个整数是值,当用迭代器访问时,it->first表示第一个KEY,it->second表示第二个值
程序的目的是啥