Leetcode Two Sum Problem link: https://leetcode.com/problems/two-sum/
I have tried to explain both the bruteforce approach as well as the optimal approach. Easy two sum problem solution. If you are preparing for DSA rounds or for SDE interview then this is for you.If you have any queries feel free to leave a comment.
Problem
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]
Explanation: 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]
Solution 1 : [Bruteforce Method]
from typing import List
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
for j in range(i, len(nums)):
if i!=j:
if nums[i] + nums[j] == target:
return [i, j]
Solution 2 : [Optimal Solution]
from typing import List
def twoSum(list: List[int], target: int) -> List[int]:
if len(list) <= 1:
return 'Please pass an array with atleast two elements'
hashTable = {}
for i in range(len(list)):
complement = target - list[i]
if complement in hashTable:
return [list.index(complement), i]
hashTable[list[i]] = list[i]
Top comments (0)