关注
//问题解决了,谢谢楼上各位大神们。如果按我的想法,正确的代码如下:
#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;
pair<int, int> gettwonums(vector<int>& A,const int& K)
{
unordered_map<int,int> res;
for (auto &a : A)
{
auto ret=res.insert({ a,1 });
if (ret.second == false)
(ret.first)->second++;
}
for (auto &a :A)
{
auto ret = res.insert({ K - a,1 });
if (ret.second == false)
{
if ((2 * a == K&&res[a]> 1)|| (2 * a != K))
return make_pair(a, K - a);
}
}
return make_pair(0,0);
}
int main()
{
vector<int> A = { 5,8,6,7,9,2};
auto a = gettwonums(A, 10);
cout << a.first << " " << a.second;
system("pause");
}
//根据楼上大神的提示,其实有更简单的方法,代码如下:
pair<int, int> gettwonums2(vector<int>& A, const int& K)
{
int len = A.size();
unordered_set<int> res;
res.insert(A[0]);
for (int i = 1;i < len;i++)
{
if(res.find(K-A[i])!=res.end())
return make_pair ( A[i], K - A[i]);
res.insert(A[i]);
}
return{ 0,0 };
}
查看原帖
点赞 评论
相关推荐
12-19 19:32
上海理工大学 产品经理 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你小心翼翼的闯过多大的祸? #
2529次浏览 58人参与
# 找不到实习会影响秋招吗 #
1399079次浏览 13630人参与
# 实习没事做是福还是祸? #
2706次浏览 46人参与
# 考研人,我有话说 #
156439次浏览 1211人参与
# 2025年终总结 #
130905次浏览 2207人参与
# 重来一次,你会对开始求职的自己说 #
634次浏览 17人参与
# 哪些公司笔/面试难度大? #
7004次浏览 32人参与
# 实习简历求拷打 #
22288次浏览 239人参与
# 携程工作体验 #
18822次浏览 66人参与
# 找不到好工作选择GAP真的丢人吗 #
93566次浏览 1007人参与
# 那些我实习了才知道的事 #
252904次浏览 1784人参与
# 你觉得现在还能进互联网吗? #
29877次浏览 200人参与
# 机械求职避坑tips #
80990次浏览 531人参与
# 第一份工作能做外包吗? #
93925次浏览 599人参与
# 投格力的你,拿到offer了吗? #
154549次浏览 829人参与
# 作业帮求职进展汇总 #
85120次浏览 559人参与
# 秋招遇到的奇葩面试题 #
101199次浏览 416人参与
# 简历当中有水分算不算造假? #
154225次浏览 2250人参与
# 秋招被挂春招仍然能投的公司 #
8869次浏览 110人参与
# 什么样的背景能拿SSP? #
124270次浏览 426人参与