Given an array of integers nums and an integer target, return the indices of the two distinct elements whose values add up to target. The input is guaranteed to contain exactly one valid pair, and you may not use the same element twice. Return the indices in any order as a list of two integers.
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 form the required sum.nums = [3, 3], target = 6Output[0, 1]WhyThe pair uses two different indices even though the values are the same.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 index twicedef two_sum(nums, target):