寻找最大子串(线性方法)
来源:互联网 发布:程序员自由职业平台 编辑:程序博客网 时间:2024/05/01 22:40
O(n)
#!/usr/bin/python'''file name: maxsum.py --P75 --find maximum subarray sum, O(n) --author: zevolo, 2012.05.11'''def find_max_sum(list): now_max = list[0] low = high = 0 right_max = 0 right_low = right_high = -1 for i in range(1, len(list)): if right_low == -1 or right_max <= 0: right_low = right_high = i right_max = list[i] else: right_max += list[i] right_high = i if right_max > now_max: low = right_low high = right_high now_max = right_max #print "now max %d,%d" % (low, high) return (low, high, now_max)if __name__ == '__main__': l = [1, -2, 3, 10, -4, 7, 2, -5] print l (low, high, sum) = find_max_sum(l) out = l[low:high+1] print (out, sum)
- 寻找最大子串(线性方法)
- 寻找最大子数组 采用线性的方法
- 最大子数组的暴力寻找最大子数组以及线性寻找
- 寻找最大的子串(分治法)
- 寻找和最大的最长子串
- 寻找 和最大 最长子串
- 寻找字符最大公共子串
- c寻找最大相同子串
- Java寻找最大连续子串和
- 寻找最大连续子串和
- 寻找最大子数组
- 最大连续子序列(线性DP)
- 寻找最大公共子字符串
- 寻找最大公共子字符串
- 寻找最大重复子字符串
- (程序员面试题)字符串处理之寻找最大不重复子串
- C++实现在一个字符串中寻找最大子串
- LCS算法寻找字符串最大公共子串
- 活动目录(Active Directory)小结 【转载】
- Jetspeed2学习笔记(五)(转载)
- 《第十五周实验报告任务3.1》
- ALV折叠屏幕
- 关于P2P流量的识别方式
- 寻找最大子串(线性方法)
- 人脸分割 matlab程序
- 客户端和服务端通讯的N种方式(二)
- jquery 选中(获取)复选框、下拉框的值
- Jetspeed2学习笔记(六)(转载)
- Excel的设置 .net
- android4.0 CTS测试流程
- 如何解决Exchange 2007 角色安装错误 3221684229
- javasc 高阶函数学习