计算最小数组1.0

一、队友:http://home.cnblogs.com/u/surver/

二、设计思路

输入字符串str1,对字符串进行切分成一个个字符串,形成以数字为单位的字符串

从第第一个字符串开始强制类型转化,形成数字值,通过对每一个值得遍历最后算出值。

第一个值存入sum_constant_add中,此数组进行连续加和,取sum_constant_add

和sum_record_unexcept数组的最大值,

sum_record_unexcept用来记录意外情况的出现,如-1 -1 3的情况,取sum_record_unexcept

和单值比较的最大值。

结果取最终的sum_constant_add和sum_record_unexcept中的最大值

 

三、代码

复制代码
 1 print"请输入数组"
 2 str1="4 -2 3 -1 -1 10"
 3 str1=raw_input()
 4 str1=str1.split()
 5counter_1=0
 7 array_0=[0]*1000
 8 
 9 counter_1=0
10 sum_record_unexcept=0
11 
12 for i in str1:
13     if(counter_1==0):
14         sum_constant_add=array_0[0]
15     i=int(i)
16     array_0[counter_1]= i
17     counter_1=counter_1+1#count_1统计输入数量
18     sum_record_unexcept=max(sum_record_unexcept,sum_constant_add)
19     sum_constant_add=max(sum_constant_add+i,i)
20 answer=max(sum_constant_add,sum_record_unexcept)
21 print"answer",answer
22 #print array_0
23    
复制代码

四、运行结果

五、项目记录日志

星期 听课 编程 总计
星期一 2   2
星期二   1 1
星期三   1 1
星期四 2 1.5 3.5
星期五      
星期六   1 1
  4 4.5 8.5

 

时间记录日志

日期 开始时间 结束时间 中断时间 净时间 活动 备注
星期一 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的代码实现
星期日 13:00 14:30 30 120 修改,调试,发布 写博客并发布
posted @   Megau_Bing  阅读(237)  评论(1编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示