
In a Google embedded systems context, you may need to scan a small telemetry buffer and quickly identify two readings whose sum matches a target calibration value. 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] where i != j and 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^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 2 and 4 form the target sum, so the correct indices are 1 and 2.nums = [3, 3], target = 6Output[0, 1]WhyThe two different elements both have value 3, and together they sum to 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):