Skip to content

Commit

Permalink
Update two-sum.py
Browse files Browse the repository at this point in the history
  • Loading branch information
kamyu104 committed Apr 15, 2016
1 parent f378cb7 commit 27bbf6f
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions Python/two-sum.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
# Time: O(n)
# Space: O(n)

# Given an array of integers, return indices of the two numbers
# such that they add up to a specific target.
#
# Given an array of integers, find two numbers such that
# they add up to a specific target number.
# The function twoSum should return indices of the two numbers such that
# they add up to the target,
# where index1 must be less than index2. Please note that
# your returned answers (both index1 and index2) are not zero-based.
# You may assume that each input would have exactly one solution.
#
# Input: numbers={2, 7, 11, 15}, target=9
# Output: index1=1, index2=2
# Example:
# Given nums = [2, 7, 11, 15], target = 9,
#
# Because nums[0] + nums[1] = 2 + 7 = 9,
# return [0, 1].


class Solution:
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
lookup = {}
for i, num in enumerate(nums):
if target - num in lookup:
return (lookup[target - num] + 1, i + 1)
return [lookup[target - num], i]
lookup[num] = i
return []


if __name__ == '__main__':
print "index1=%d, index2=%d" % Solution().twoSum((2, 7, 11, 15), 9)
print "index1=%d, index2=%d" % Solution().twoSum((2, 7, 11, 15), 9)

0 comments on commit 27bbf6f

Please sign in to comment.