剑指Offer41:和为S的连续正数序列

思路:

用两个变量来控制

# -*- coding:utf-8 -*-
class Solution:
    def FindContinuousSequence(self, tsum):
        if tsum < 3:
            return []
        small = 1
        big = 2
        #middle = (tsum + 1)>>1
        curSum = small + big
        output = []
        while small < big:
            curSum=(small+big)*(big-small+1)/2
            if curSum == tsum:
                output.append(range(small, big+1))
                big += 1
            elif curSum > tsum:
                small += 1
            else:
                big += 1
        return output

猜你喜欢

转载自blog.csdn.net/weixin_43160613/article/details/85318469