码迷,mamicode.com
首页 > 编程语言 > 详细

面试题四十二:连续子数组的最大和,要求时间复杂度为 n

时间:2020-03-29 16:39:03      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:开始   要求   四十   +=   面试   color   面试题   return   ++   

 

方法一:举例分析数组的规律,累加数组逐步保存最大值;累加中和<0,则遗弃前面的累加和;重新开始;

 1  int FindMaxArray(int [] A) {
 2               if(A==null||A.length<=0)
 3                   return 0;
 4               int sum=0;
 5               int max=0x80000000;//先定义为极小值-2147483648
 6               System.out.println(max);
 7               for(int i=0;i<A.length;++i) {
 8                   if(sum<=0) sum=A[i];
 9                   else sum+=A[i];
10                   if(sum>max) max=sum;            
11               }
12               return max;       
13          }

 

面试题四十二:连续子数组的最大和,要求时间复杂度为 n

标签:开始   要求   四十   +=   面试   color   面试题   return   ++   

原文地址:https://www.cnblogs.com/niliuxiaocheng/p/12593158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!