Leetcode Tag Search | Back

1. Two Sum

Category: /leetcode

Leetcode Link

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

You can return the answer in any order.

Example 1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Output: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:

Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:

Input: nums = [3,3], target = 6
Output: [0,1]

Solution:

  • Hashmap
def twoSum(self, nums, target):
  items = []
  for i, n in enumerate(nums):
    m = target - n
    if m in items:
      return [d[m], i]
    else:
      items[n] = i
  return None

There can be follow up:

  1. return all pairs matching the conditions
  2. the list is sorted, use two-pointers
  3. 3-sum or 4-sum

讨论

提示

  • 如果看不到讨论部分, 请暂时关掉adblock in Firefox/Chrome
  • 本网站使用Javascript实现评论功能, 此处外链对提高您的网站PR没有帮助. (潜台词: 请不要灌水, 谢谢)