NlogN复杂度寻找数组中两个数字和等于给定值

算法导论:22页2.3-7
描述一个运行时间为O(nlogn)的算法,找出n个元素的S数组中是否存在两个元素相加等于给定x值

AC解:

a=[1,3,6,7,9,15,29]
def find2sumx(nums,x):
    nums.sort()
    le,ri=0,len(nums)-1
    while le>=0 and ri<=len(nums) and lex:
            ri-=1
        else:
            return( (le,ri),(nums[le],nums[ri]))
    return (-1)
print(find2sumx(a,15))

你可能感兴趣的:(NlogN复杂度寻找数组中两个数字和等于给定值)