How to find if there is a pair in sorted list with sum equal to a given sum in Python

2 Answers

0 votes
def isPairWithAGivenSum(lst, _sum) :
    size = len(lst)
    i = 0
    while (i < size) :
        j = 0
        while (j < size) :
            if (i == j) :
                j += 1
                continue
            if (lst[i] + lst[j] == _sum) :
                print("i = " + str(i) + " j = " + str(j))
                return True
            if (lst[i] + lst[j] > _sum) :
                break
            j += 1
        i += 1
         
    return False
     
lst = [3, 5, 6, 8, 9, 12, 13, 15]
_sum = 17
 
print(isPairWithAGivenSum(lst, _sum), end ="")
 
 
 
'''
run:
 
i = 1 j = 5
True
 
'''


 



answered Apr 22, 2023 by avibootz
0 votes
def isPairWithAGivenSum(lst, _sum) :
    size = len(lst)
    for i in range(size):
        for j in range(i + 1, size):
             if lst[i] + lst[j] == _sum:
                return [lst[i], lst[j]]
    return False
    
lst = [3, 5, 6, 8, 9, 12, 13, 15]
_sum = 17

print(isPairWithAGivenSum(lst, _sum), end ="")



'''
run:

[5, 12]

'''


 



answered Apr 22, 2023 by avibootz
...