w3resource

Python: Find a pair of elements from a given array whose sum equals a specific target number


5. Find a Pair of Elements Whose Sum Equals a Specific Target

Write a Python class to find a pair of elements (indices of the two numbers) from a given array whose sum equals a specific target number.

Difficulty: Medium. Company: Google, Facebook

Sample Solution-1:

Python Code:

class py_solution:
  def twoSum(self, nums, target):
       lookup = {}
       for i, num in enumerate(nums):
           if target - num in lookup:
               return (lookup[target - num], i )
           lookup[num] = i
print("index1=%d, index2=%d" % py_solution().twoSum((10,20,10,40,50,60,70),50))

Sample Output:

index1=2, index2=3 

Pictorial Presentation:

Python: Find a pair of elements from a given array whose sum equals a specific target number.

Flowchart:

Flowchart: Find a pair of elements from a given array whose sum equals a specific target number

Sample Solution-2:

Python Code:

class py_solution(object):
   def twoSum(self, nums, target_num):      
       """
       :type nums: list[int]
      :type target: int
      :return type: list[int]
      """
       result_dict = dict()
       pos = 0
       while pos < len(nums):
           if (target_num - nums[pos]) not in result_dict:
               result_dict[nums[pos]] = pos
               pos += 1
           else:
               return [result_dict[target_num - nums[pos]], pos]
print(py_solution().twoSum([10,20,10,40,50,60,70],50))
print(py_solution().twoSum([10,20,10,40,50,60,70],52))

Sample Output:

[2, 3]
None

Flowchart:

Flowchart: Find a pair of elements from a given array whose sum equals a specific target number

For more Practice: Solve these Related Problems:

  • Write a Python class that uses the two-sum algorithm with a dictionary to find two indices such that the corresponding elements add up to a target value.
  • Write a Python class that implements the two-pointer technique on a sorted array to find a pair with a given sum, returning their indices.
  • Write a Python class that employs recursion to search for a pair of numbers in an unsorted array that sum to a target, ensuring each element is used only once.
  • Write a Python class that handles multiple possible pairs by returning the first valid pair found that meets the target sum condition.

Go to:


Previous: Write a Python class to get all possible unique subsets from a set of distinct integers.
Next: Write a Python class to find the three elements that sum to zero from a set (array) of n real numbers.

Python Code Editor:

Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.