offer40--和为s的连续正数序列

# coding=utf-8
'''输入一个递增排序的数组和一个数字s,在数组中查找两个数,使他们的和正好时s
思路:两个指针分别指向头尾,第一个和最后一个数字相加和s判断大小,大的尾指针渐渐'''
def Findsum(arry,s):
    if arry==None or len(arry)<=0 or arry[-1]+arry[-2]<s:
        return []
    start=0
    end=len(arry)-1
    while start<end:
        sum=arry[start]+arry[end]
        if sum>s:
            end-=1
        elif sum<s:
            start+=1
        else:
            return [arry[start],arry[end]]
    return []
if __name__ == '__main__':
        arry=[1,2,4,6]
        print(Findsum(arry,6))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值