diff --git a/Interview_questions/Two_Sum.py b/Interview_questions/Two_Sum.py new file mode 100644 index 0000000..22bab0e --- /dev/null +++ b/Interview_questions/Two_Sum.py @@ -0,0 +1,46 @@ +""" +Question: + +Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. + +You may assume that each input would have exactly one solution, and you may not use the same element twice. + +You can return the answer in any order. + + + +Example 1: + +Input: nums = [2,7,11,15], target = 9 +Output: [0,1] +Output: Because nums[0] + nums[1] == 9, we return [0, 1]. +Example 2: + +Input: nums = [3,2,4], target = 6 +Output: [1,2] +Example 3: + +Input: nums = [3,3], target = 6 +Output: [0,1] + + +Constraints: + +2 <= nums.length <= 105 +-109 <= nums[i] <= 109 +-109 <= target <= 109 +Only one valid answer exists. """ + +from typing import List +import collections +def twoSum(nums: List[int], target: int) -> List[int]: + dicto=collections.defaultdict(int) + for i,num in enumerate(nums): + cc=target - nums[i] + if cc in dicto: + return [dicto[cc],i] + + dicto[num]=i +twoSum([2,7,11,15],9) + +#OUTPUT: [0, 1]