摘要: 郑云飞--韩亚华 这个问题的复杂性和不确定让我们让我们想到了枚举,求出每一个子数组的和,但这样我们我们程序的时间复杂度将会非常高,于是我们想把办法简化它。首先我们将数组里连续的正数和负数就和,这样我们将得到一个正负相间的整数数组。然后再对正整数数组求最大子数组,这样最大子数组必定是两头为正,有奇数个元素的数组,让后再对这样的数组枚举。这样不能在数量级简化时间复杂度,但也会使计算得到一定简化。一下会方法:int maxsubarray(int a[],int n){ int *temp; int newlong=0; int k=1;//标志新数组元素的正负 int t... 阅读全文
posted @ 2014-03-10 20:26 南风咖啡 阅读(501) 评论(1) 推荐(0) 编辑