solution_182a.py

#!/usr/bin/python3
# ====================================================================
# From: www.youtube.com/watch?v=2wVjt3yhGwg
#       Two Pointer Algorithm | Two sum Problem |
#       solve DS Problen in O(N) Time
# ====================================================================

print()
print('Find all pairs of integers in a sorted list that sum to 6')
print()

target = 6

nums = [ -3,2,3,3,6,8,9,15 ]    # ordered list of integers
##nums = [ 3,3 ]

c    = 0                        # found count
idxa = 0                        # index (pointer) a
idxb = len(nums) - 1            # index (pointer) b
t    = 0                        # test count

while idxa < idxb:

    t += 1

    ## print(f'test[{t}]: idxa = {idxa}  idxb = {idxb}')

    total = nums[idxa] + nums[idxb]

    if  total == target:
        c += 1
        ## print(f'(total = {total}) {nums[idxa]} + {nums[idxb]} = {target}')

    if total >= target:
        idxb -= 1
    else:
        idxa += 1

print()
print(f'{c} found - end of program')