At Stripe, you are given an integer array nums and an integer target. Return the indices of the two distinct elements whose values add up to target.
You may assume there is exactly one valid answer, and you may not use the same element twice.
nums: a list of integerstarget: an integer[i, j] such that nums[i] + nums[j] == target and i != jExample 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 = 6Example 3
nums = [3, 3], target = 6[0, 1]2 <= len(nums) <= 10^5-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 are 2 and 7, and they sum to 9.nums = [3, 2, 4], target = 6Output[1, 2]WhyThe values 2 and 4 form the target sum, so the correct indices are 1 and 2.nums = [0, 4, 3, 0], target = 0Output[0, 3]WhyThe two zeros are at different indices, and together they sum to 0.2 <= len(nums) <= 10^5-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):