We’ll end with a classic interview question: given a list of integers and a “target” integer, return a pair of indices whose values sum to the target.

nums = [4, 2, 8, 9, 6] target = 8 pair_sum(nums, target) # nums[1] + nums[4] == 8 # [1, 4] pair_sum(nums, 17) # nums[2] + nums[3] == 17 # [2, 3] pair_sum(nums, 99) # no pair sum exists... # None

Clarifying Questions:

  • Are there constraints on time or space efficiency?
    • No! Any solution will do.
  • Can the numbers be negative or 0?
    • Yes! Your solution should handle those inputs.
  • Does the order of indices matter?
    • The earlier index comes first in the return list.
  • Do we return all pairs that match a solution?
    • No! The first one that your solution finds will do!



Write a function pair_sum(), which has two parameters: nums and target.

pair_sum() should return a list containing a pair of indices whose values sum to target.

If no such pair of indices exists, return None.

Sign up to start coding

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?