LeetCode--1.TwoSum
LeetCode--1.TwoSum
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;
class Solution
{
public:
vector<int> twoSum(vector<int>& nums, int target)
{
vector<int> res;
for (int i = 0; i < nums.size() - 1; ++i)
{
for (int j = i + 1; j < nums.size(); ++j)
if (nums[i] + nums[j] == target)
{
res.push_back(i);
res.push_back(j);
break;
}
}
return res;
}
};
int main()
{
vector<int> nums{ 2,7,11,15 };
int target = 9;
Solution s;
vector<int> res = s.twoSum(nums, target);
system("pause");
return 0;
}
结果提交了之后超时了=。=
20170921更新
同样的思想,用Python过了~
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
d= []
for i in range(len(nums)):
if nums[i] not in d:
d.append(target-nums[i])
else:
return (d.index(nums[i]), i)
作者:
tongqingliu
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
posted on 2017-09-09 19:18 tongqingliu 阅读(214) 评论(1) 编辑 收藏 举报