World's Best AI Learning Platform with profoundly Demanding Certification Programs
Designed by IITian's, only for AI Learners.
For this problem we will take advantage of a set data structure. We will make a single pass through the list of integers, treating each element as the first integer of our possible sum.
At each iteration we will check to see if there is a second integer which will allow us hit the target number, adn we will use a set to check if we've already seen it in our list.
We will then update our seen set by adding the current number in the iteration to it.
def solution(lst,target): # Create set to keep track of duplicates seen = set() # We want to find if there is a num2 that sums with num to reach the target for num in lst: num2 = target - num if num2 in seen: return True seen.add(num) # If we never find a pair match which creates the sum return False solution([1,3,5,1,7],4) True solution([1,3,5,1,7],14) False