版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/khy19940520/article/details/77993183
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
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> twoSum(vector<int>& nums, int target);
int main()
{
vector<int> result;
vector<int> nums = { 3,2,4 };
int target = 6;
result = twoSum(nums, target);
for (int i = 0; i < result.size(); i++)
{
cout << result[i] << endl;
}
system("pause");
return 0;
}
vector<int> twoSum(vector<int>& nums, int target)
{
vector<int> result;
for (int i = 0; i < nums.size(); i++)
{
for (int j = 0; j < nums.size(); j++)
{
if (i < j)
{
if (nums[i] + nums[j] == target)
{
result.push_back(i);
result.push_back(j);
}
}
}
}
return result;
}
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
vector<int> result;
for (int i = 0; i < nums.size(); i++)
{
for (int j = 0; j < nums.size(); j++)
{
if (i < j)
{
if (nums[i] + nums[j] == target)
{
result.push_back(i);
result.push_back(j);
}
}
}
}
return result;
}
};