子数组1
队友:http://home.cnblogs.com/u/Megau/
一、分析
这里采用动态规划来解决问题。
本来使用for循环依次遍历实现,可后来采用了动态规划。
最大子数组可能是一个数本身,或者是这个数前面的数之和想加,这就看前面的和为正还是负。
每一次求得最大值都要和前一次比较。
如此循环递归。
二、代码
str1="4 -2 3 -1 -1 10" #str1=raw_input() str1=str1.split() counter_1=0 array_0=[0]*1000 counter_1=0 sum_record_unexcept=0 for i in str1: if(counter_1==0): sum_constant_add=array_0[0] i=int(i) array_0[counter_1]= i counter_1=counter_1+1#count_1统计输入数量 sum_record_unexcept=max(sum_record_unexcept,sum_constant_add) sum_constant_add=max(sum_constant_add+i,i) answer=max(sum_constant_add,sum_record_unexcept) print"answer",answer print array_0
三、截图


项目计划日志(单位:h):
| 听课 | 编写程序 | 阅读相关书籍 | 网上查找资料 | 日总计 | |
| 周一 | 2 | 0 | 0 | 0 | 2 |
| 周二 | 0 | 1 | 0 | 0 | 1 |
| 周三 | 0 | 1 | 0 | 0 | 1 |
| 周四 | 2 | 1.5 | 0 | 0 | 3.5 |
| 周五 | 0 | 0 | 2 | 0 | 2 |
| 周六 | 0 | 1 | 0 | 0 | 1 |
| 周日 | |||||
| 周总计 | 4 | 4.5 | 2 | 0 | 10.5 |
时间记录日志(单位:min):
| 日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 | 备注 |
| 星期一 | 14:00 | 15:50 | 10(课间) | 100 | 听课 | 上课 |
| 19:30 | 21:30 | 30 | 90 | 阅读 | ||
| 星期二 | 19:30 | 20:30 | 30 | 30 | 编程 | |
| 星期三 | 14:00 | 15:00 | 0 | 60 | 编程 | 数组最大子数组之和1 |
| 19:00 | 20:00 | 30 | 30 | 编程 | ||
| 星期四 | 14:00 | 15:50 | 10 | 100 | 听课 | 软件工程上课 |
| 21:30 | 20:30 | 0 | 60 | 编程 | 数组最大子数组之和2的程序 | |
| 19:30 | 20:30 | 0 | 60 | 编程 | ||
| 星期五 | 14:00 | 16:00 | 0 | 120 | 编程 | 数组最大子数组之和2的程序 |
| 星期六 | 18:00 | 17:30 | 30 | 120 | 修改,调试,发布 | 写博客并发布 |

浙公网安备 33010602011771号