【python-leetcode325-滑动窗口法】最大子数组之和为k
时间:2022-07-23
本文章向大家介绍【python-leetcode325-滑动窗口法】最大子数组之和为k,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目描述:给定一个数组,求和为k的最大子数组的长度,子数组是指连续的一段数组。
比如[1,-1,5,-2,-3],k=3,那么输出为4,因为1+-1+5+-2=3。
def solution(a,k):
#用于记录当前最大值
tmp = 0
#步长i从1到len(a)+1
for i in range(1,len(a)+1):
#j:表示窗口左端
for j in range(len(a)-i+1):
print(a[j:j+i])
#如果当前窗口的和为k,则当前最大值就是tmp和步长得最大值
if sum(a[j:j+i]) == k:
tmp = max(tmp,i)
print(tmp)
return tmp
过程:
[1] [-1] [5] [-2] [-3] [1, -1] [-1, 5] [5, -2] 2 [-2, -3] [1, -1, 5] [-1, 5, -2] [5, -2, -3] [1, -1, 5, -2] 4 [-1, 5, -2, -3] [1, -1, 5, -2, -3]
由于leetcode没会员,不能解锁,不能保证能过。但思路应该没问题。
- 细数那些在2017年被黑客滥用的系统管理工具和协议
- Compass: 在你的应用中集成搜索功能
- 列表选择Spinner
- 巧用CSS3 :target 伪类制作Dropdown下拉菜单(无JS)
- 开源的虚拟机软件 VirtualBox v1.5.2
- Farseer:一个用于Silverlight和XNA的开源物理引擎
- Visual Studio 2008 debug的时候发生郁闷的错误ContextSwitchDeadlock was detected
- LINQ TO XML
- 不被未来折叠掉:AI时代下的思考
- Google 分析的基准化测试
- WebFont 三宗罪之一:WebFont 与 FOUT
- 探究基于声明的身份标识
- 深化“互联网+先进制造业”发展工业互联网的系列解读二:打造平台体系
- WebFont 三宗罪之二:吹毛求疵的WebFont 渲染差异
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法