题解 | #和为S的连续正数序列#

和为S的连续正数序列

http://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe

class Solution:
    def FindContinuousSequence(self , sum: int) -> List[List[int]]:
		# 左右指针求取区间的值
        left = 1
        right = 2
        res = []
        
        while left < right:
            cur = (left+right)*(right-left+1)/2  # 求和公式
            
            if cur == sum:
                res.append(list(range(left, right+1)))    # 满足记录下来
                left +=1       # or right +=1, 探索其他组的值
            elif cur < sum:    # 如果小了,右指针往右移动
                right +=1
            else:              # 如果大了,左指针往右移动
                left  +=1
                
        return res 
        
全部评论

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务