您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

和为s的连续正数序列

IT之一小佬 发布时间:2021-07-28 12:48:55 ,浏览量:0

输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。

序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。

示例 1:

输入:target = 9
输出:[[2,3,4],[4,5]]

示例 2:

输入:target = 15
输出:[[1,2,3,4,5],[4,5,6],[7,8]]

示例代码:

class Solution:
    def findContinuousSequence(self, target: int) -> List[List[int]]:
        i = 1  # 滑动窗口的左边界
        j = 1  # 滑动窗口的右边界
        sum = 0  # 滑动窗口中数字的和
        res = []
        while i  target:   # 左边界向右移动
                sum -= i
                i += 1
            else:
                res.append(list(range(i ,j)))  # 记录结果
                sum -= i  # 左边界向右移动
                i += 1
        return res

思路解析:

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0378s