✨欢迎来到脑子不好的小菜鸟的文章✨
🎈创作不易,麻烦点点赞哦🎈
所属专栏:刷题
我的主页:脑子不好的小菜鸟
文章特点:关键点和步骤讲解放在
代码相应位置
前提:
看本文章之前,建议先看看这篇对哈希算法的讲解哦,可能事半功倍哦~
传送门:常见的三种哈希结构(数组,set,map)-CSDN博客
题目链接:
1. 两数之和 - 力扣(LeetCode)
AC代码:
//一个数据涉及两个值:元素,下标---->map
//该题key为元素,value为下标,因为要用元素为索引,所以元素为key
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
std::unordered_map <int,int>map;
/*key,value*/
for(int i=0;i<nums.size();i++)
{
int s=target-nums[i];
auto iter=map.find(s);
if(iter!=map.end())
return {iter->second,i};
map.insert(pair<int,int>(nums[i],i));
}
return {};
/*注意放的位置*/
}
};
最后祝大家题题AC,只盼做个WA梦 ~