1、解题思路
直接暴力求解:
使用一个二重循环,从前向后进行扫描整个数组:完整代码如下:
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
for(int i=0;i<nums.size()-1;i++)
for (int j = i + 1; j < nums.size(); j++)
{
if (nums[i] + nums[j] == target)
{
vector<int> tem;
tem.push_back(i);
tem.push_back(j);
return tem;
}
}
}
};
int main()
{
vector<int> nums;
int target;
int n;
cin >> n;
cin >> target;
for (int i = 0; i < n; i++)
{
int tem;
cin >> tem;
nums.push_back(tem);
}
Solution p;
vector<int> res = p.twoSum(nums,target);
for (int i = 0; i < 2; i++)
{
cout << res[i] << endl;
}
return 0;
}
2、结果
3、结语
可以看到,该方法虽然能通过,但是效率很低,后期有时间在优化吧