[2021校招必看之Java版《剑指offer》-19] 和为S的连续正数序列

文章目录

  • 1、题目描述
  • 2、解题思路
    • 2.1 穷举法
    • 2.2 前N项和优化
    • 2.3 滑动窗口法
  • 3、解题代码
    • 3.1 穷举法
    • 3.2 前N项和优化
    • 3.3 滑动窗口法
  • 4、解题心得

1、题目描述

  【JZ41】小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
  知识点:数学,前缀和,滑动窗口
  难度:☆

2、解题思路

2.1 穷举法

  首先分析出题意关键词:正数、连续。
  我们可以通过确定左边界和右边界的方式来穷举出最终结果。
  步骤:
  

你可能感兴趣的:(剑指offer(Java语言),算法,数据结构,java,剑指offer)