面试题四十二:连续子数组的最大和,要求时间复杂度为 n
Posted niliuxiaocheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题四十二:连续子数组的最大和,要求时间复杂度为 n相关的知识,希望对你有一定的参考价值。
方法一:举例分析数组的规律,累加数组逐步保存最大值;累加中和<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的主要内容,如果未能解决你的问题,请参考以下文章