题目描述:
找出所有和为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 < middle:
if curSum == tsum:
output.append(range(small, big+1))
big += 1
curSum += big
elif curSum > tsum:
curSum -= small
small += 1
else:
big += 1
curSum += big
return output
双指针求连续正数序列
本文介绍了一种使用双指针算法寻找所有和为特定值S的连续正数序列的方法。通过调整两个指针的位置,算法可以高效地找到所有符合条件的序列,避免了暴力搜索的高时间复杂度。
403

被折叠的 条评论
为什么被折叠?



