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 exactly one valid pair exists, and the same element cannot be used twice.
Input: nums = [2, 7, 11, 15], target = 9
Output: [0, 1]
Explanation: nums[0] + nums[1] = 2 + 7 = 9
Input: nums = [3, 2, 4], target = 6
Output: [1, 2]
Explanation: nums[1] + nums[2] = 2 + 4 = 6
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 add up to 9.nums = [3, 2, 4], target = 6Output[1, 2]WhyThe values 2 and 4 sum to 6, so return their indices.nums = [3, 3], target = 6Output[0, 1]WhyThe two distinct elements both equal 3 and together make 6.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):