LeetCode[1]Two Sum

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
    }
};



猜你喜欢

转载自blog.csdn.net/khy19940520/article/details/77993183