题目:Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]
代码:
#include<iostream>
#include<vector>
using namespace std;
vector<int> p;
vector<int> test(vector<int> &numbers, int target);
int main()
{
vector<int> s;
int ta = 86;
s.push_back(2);
s.push_back(7);
s.push_back(13);
s.push_back(34);
s.push_back(4);
s.push_back(44);
s.push_back(56);
s.push_back(30);
//cout << s.size() << endl;
p=test(s, ta);
if (p.size() == 0)
{
cout << "没有找到合适的数字" << endl;
}
else
{
cout << p[0] << " " << p[1] << endl;
}
cin.get();
return 0;
}
vector<int> test(vector<int> &numbers, int target)
{
for (auto i = numbers.begin(); i < numbers.end()-1; i++)
{
for (auto j = numbers.begin()+1; j < numbers.end(); j++)
{
if (*i + *j == target)
{
p.push_back(*i);
p.push_back(*j);
break;
}
}
}
return p;
}