
At Lyft, you are given an integer array and a target value. 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 integer[i, j] such that nums[i] + nums[j] == targetExample 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 value `2` needs `7`, which appears at index `1`.nums = [3, 2, 4], target = 6Output[1, 2]WhyThe values at indices `1` and `2` are `2` and `4`, and they sum to `6`.nums = [3, 3], target = 6Output[0, 1]WhyThe two different elements both equal `3`, and together they reach the target.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):