求数组的子数组之和的最小值

来源:互联网 发布:吊装计算软件 编辑:程序博客网 时间:2024/06/05 11:56

本质上与“求数组的子数组之和的最大值”是相同的,只需对求最大值的算法做些修改即可.这里给出一种方法,代码如下:

int minSum(int *arr,int length){int start=arr[length-1];int all=arr[length-1];for(int i=length-2;i>=0;i--){if(start>0)start=0;start+=arr[i];if(start<all)all=start;}return all;}
时间复杂度为O(n),不对之处请多多指正。

0 0
原创粉丝点击