
At Stripe, you are given a list of transaction values and a target amount. Return the indices of the two distinct elements whose sum equals the target.
Implement a function two_sum(nums, target) where:
nums is a list of integerstarget is an integerYou may assume:
Example 1
nums = [2, 7, 11, 15], target = 9[0, 1]nums[0] + nums[1] = 2 + 7 = 9Example 2
nums = [3, 2, 4], target = 6[1, 2]nums[1] + nums[2] = 2 + 4 = 62 <= len(nums) <= 10^4-10^9 <= nums[i] <= 10^9-10^9 <= target <= 10^9nums = [2, 7, 11, 15], target = 9Output[0, 1]WhyThe values at indices 0 and 1 add up to 9.nums = [3, 2, 4], target = 6Output[1, 2]WhyThe values 2 and 4 form the target sum.nums = [3, 3], target = 6Output[0, 1]WhyThe two different elements both equal 3, and together they sum to 6.2 <= len(nums) <= 10^4-10^9 <= nums[i] <= 10^9-10^9 <= target <= 10^9Exactly one valid answer existsYou may not use the same element twicedef two_sum(nums, target):