# Leetcode: Two Sum

Pic 2 numbers to get the target sum.

Similar Problems:

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].
```

Github: code.dennyzhang.com

Credits To: leetcode.com

Leave me comments, if you have better ways to solve.

```## Blog link: https://code.dennyzhang.com/two-sum
## Basic Ideas: Sort, then two pointer
##
## Complexity: Time O(n*log(n)), Space O(1)
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
l = sorted(zip(nums, range(len(nums))))
left, right = 0, len(l)-1
while left<right:
v = l[left][0]+l[right][0]
if v == target:
return [l[left][1], l[right][1]]
if v < target:
left += 1
else:
right -= 1
```

Share It, If You Like It.