非常Classics的一道题,网上很好找答案,但官方C++ 标准答案的main function很难查到,我猜想这大概是因为,Veteran不屑一顾,Fresh man难以下手。
为了方便更多和我一样的C++新手,写了一下,希望大佬们不要见笑。
#include <iostream>
#include <vector>
using namespace std;
class Solution
{
public:
vector<int> twoSum(vector<int>& nums, int target)
{
int n = nums.size();
for (int i = 0; i < n; ++i)
{
for (int j = i + 1; j < n; ++j)
{
if (nums[i] + nums[j] == target)
{
return {i, j};
}
}
}
return {};
}
};
int main()
{
vector<int> numbers,result;
int target;
cout<<"input numbers"<<endl;
for (int i = 0; cin >> i;)
{
numbers.push_back(i);
if (cin.get() == '\n')
break;
}
cout<<"target"<<endl;
cin >> target;
Solution solu;
result = solu.twoSum(numbers, target);
cout << " [ " << result[0] << " ," << result[1] << " ] "<<endl;
return 0;
};
运行结果: