文章目录

  • 题目
  • 解答
    • 解法1:滑动窗口

题目

和为S的连续正数序列

解答

解法1:滑动窗口

使用滑动窗口来求解这道题,核心思想就是设定一个大小不固定的窗口来圈住目标列表,如果列表中的数据满足条件就添加到答案中,否则就动态的移动该滑动窗口。

# -*- coding:utf-8 -*-
class Solution:def FindContinuousSequence(self, tsum):"""使用滑动窗口的方法来解决,设定一个动态的窗口,p_low指向窗口头部,p_high指向窗口尾部,窗口之间的值,为目标值。如果目标值为tsum,那就是其中一个解。否则移动窗口。:param tsum:"""#错误判断处理,如果小于3的话 无解if tsum < 3:return []#设定初始的滑动窗口大小p_low = 1p_high = 2ans = []while p_low < p_high:#计算滑动窗口现在圈中的大小cur_sum = sum(range(p_low,p_high+1))if cur_sum == tsum:#找到一组解,并记录到ans数组中。ans.append(range(p_low,p_high+1))#移动滑动窗口,并寻找下一组解。p_high = p_high + 1elif cur_sum < tsum:p_high = p_high + 1else :p_low = p_low + 1return ansif __name__ == '__main__':s = Solution()print  s.FindContinuousSequence(100)

和为S的连续正数序列(python)相关推荐

  1. python【力扣LeetCode算法题库】面试题57 - II-和为s的连续正数序列(滑动窗口)

    面试题57 - II. 和为s的连续正数序列 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). 序列内的数字由小到大排列,不同序列按照首个数字从小到大排 ...

  2. LeetCode Algorithm 剑指 Offer 57 - II. 和为s的连续正数序列

    剑指 Offer 57 - II. 和为s的连续正数序列 Ideas 区间问题首先想到用双指针. 因为这题没有给定数组,其实相当于就是一个从1到target的数组,然后直接套双指针的模板就可以了. 双 ...

  3. 和为S的连续正数序列(数学技巧,事半功倍)

    和为S的连续正数序列 题目描述 题目分析 双指针/滑动窗口法 C++代码 python代码 纯数学技巧法   数学的基础在算法中的用处大概就是对数字的敏感性了,如果能找到数字的规律,在求解数字的时候往 ...

  4. 和为s的连续正数序列java_剑指Offer41:和为S的连续正数序列(Java)

    思路分析: 在左端建一个窗口[L,R],从左滑倒右.当[L,R]之间的数加起来等于sum,保存起来:若小于sum,则R向右移动:若大于sum,则L向右移动. 题目描述: 小明很喜欢数学,有一天他在做数 ...

  5. 剑指offer:和为S的连续正数序列

    题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...

  6. 41.和为s的两个数字 VS 和为s的连续正数序列

    为什么80%的码农都做不了架构师?>>>    题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多对数字的和等于s,输出任意一对即可.   ...

  7. 和为s的两个数字与和为s的连续正数序列

    题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多对数字的和等于s,则输出任意一对即可. 分析:选择数组的两端,将其相加,然后与s比较,如果比s大,则将指向 ...

  8. 【剑指offer-Java版】41和为s的两个数字VS和为s的连续正数序列

    和为S的两个数字以及和为S的连续正数序列:输入是一个递增排序的数组,查找其中一对满足和为S的数,输出.如果有多对,输出其中一对 public void FindNumbersWithSum(int n ...

  9. 九度oj 题目1354:和为S的连续正数序列

    题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久, ...

  10. 程序员面试题精选100题(26)-和为n连续正数序列[算法]

    题目:输入一个正数n,输出所有和为n连续正数序列. 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. 分析:这是网易的一道面试题. 这道题和 ...

最新文章

  1. flink scala shell命令行使用示例
  2. 【跟着我们学Golang】Go语言全平台安装
  3. 执行Plugins下的install:install报错:The packaging for this project did not assign a file to the build artif
  4. python实训英文_GitHub - MiracleYoung/You-are-Pythonista: 汇聚【Python应用】【Python实训】【Python技术分享】等等...
  5. [Redux/Mobx] 说说Redux的实现流程
  6. java日历类add方法_Java日历computeFields()方法及示例
  7. HDOJ2035 人见人爱A^B
  8. Android 存储路径浅析
  9. 详解 C++ 的隐式类型转换与函数重载!
  10. java 并发集合_《Java 7并发编程实战手册》第六章并发集合
  11. 服务器显示器超频,电脑显示器超频怎么恢复正常 电脑显示器超频是什么原因...
  12. **LPC1788加密与解密方法**
  13. 3D打印机 G代码解释
  14. 我奋斗十八年不是为了和你一起喝咖啡!
  15. c语言中结构体定义中的“冒号”
  16. Android基于环信实现聊天功能(一)——了解环信
  17. 家庭用计算机音响,7.1声道THX家庭影院音箱摆位计算器
  18. oracle 时间天数计算,oracle计算连续登陆/上班天数
  19. win10查看linux文件夹,Win10系统访问Linux子系统中文件的教程
  20. eWebEditor漏洞 [转]

热门文章

  1. mysql基础4-数据表操作2
  2. Bert模型冻结指定参数
  3. 面试Go语言开发?让这本书帮你感动面试官!
  4. 大中小型项目管理的区别
  5. 2,1 模型评估与选择
  6. 回顾|腾讯AI打败王者荣耀职业队,AI训练一天等于人类440年
  7. 触发器(Trigger)的使用方法详解
  8. python之禅源代码_python之禅
  9. android闪退报错,写了一个android小程序,测试的时候闪退,然鹅log并没有报错
  10. react中dispatch_reactjs – TypeError:dispatch不是函数.在React无状态组件中