
In a Google coding interview, 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. The array is not sorted.
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]3 values are at different indices, so both can be used.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 add up to 9.nums = [3, 2, 4], target = 6Output[1, 2]WhyThe values at indices 1 and 2 are 2 and 4, which sum to 6.nums = [3, 3], target = 6Output[0, 1]WhyThe two elements are distinct positions in the array, so both 3s can be used.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):