Two-Pointer Method: FInd Target Sum in Sorted Array¶
In [1]:
#
# Motivation Problem: Given a sorted array A having N integers.
# You need to find any pair (i,j) having sum as given number X.
#
def sumX(arr, X):
left = 0
right = len(arr)-1
while (left < right):
if (arr[left] + arr[right] == X):
return True
elif (arr[left] + arr[right] > X):
right-=1
else:
left+=1
return False
test_list = [99,2,4,5,7,8,20]
test_list.sort()
print(test_list)
for target in range(5,13):
print("target sum",target,"exists",sumX(test_list,target))