https://leetcode-cn.com/problems/two-sum/submissions/
简单解释一下就是从数组中找到两个数之和等于一个数,输出的就是呢个找到的数的下标啊
测试用代码,新入坑leetcode自行观看啊t
#include<iostream>
#include<unordered_map>
using namespace std;
unordered_map<int,int> save;
int main()
{
int a[10],num;
for(int i=0;i<4;i++)
{
cin>>a[i];
}
cin>>num;
for(int i=0;i<4;i++)
{
int nums=num-a[i];
if(save.find(nums)!=save.end())
{
printf("%d %d",save[nums],i);
return 0;
}
save[a[i]]=i;
}
return 0;
}
leetcode通过代码
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> save;
for(int i=0;i<nums.size();i++)
{
int num=target-nums[i];
if(save.find(num)!=save.end())
{
return {save[num],i};
}
save[nums[i]]=i; //存储数值和下标
}
return {-1,-1};
}
};