题解 | #和为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 
        
全部评论

相关推荐

MrGaomq:你沟通的太少了,我两个号沟通了都1w多了
点赞 评论 收藏
分享
程序员小白条:vibe你只要能cover住面试官问你很多深入的实现和选型方案的原因,以及怎么去检测优化效果的就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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