剑指 Offer 57 - II. 和为s的连续正数序列
题目:输入一个正整数
target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 简单
序列内的数字由小到大排列,不同序列按照首个数字从小到大排列
方法:滑动窗口 时间复杂度O(n) 空间复杂度O(1)
def findContinuousSequence(target): """ :type target: int :rtype: List[List[int]] """ i,j,s = 1,2,3 res = [] while i < j: if s == target: res.append(list(range(i,j+1))) if s >= target: s -= i # 千万注意这里的先后顺序,下面也是 i += 1 else: j += 1 s += j return res

浙公网安备 33010602011771号