#include <stdio.h>
#include <limits.h>
#define LEN 16
int sums[LEN][LEN];
void init(int a[])
{
int i,j;
for(i=0;i<LEN;i++)
{
sums[i][i]=a[i];
}
for(i=0;i<LEN;i++)
{
for(j=i+1;j<LEN;j++)
{
sums[i][j]=sums[i][j-1]+a[j];
}
}
}
int main()
{
int a[16]={13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7};
for(int i=0;i<LEN;i++)
{
for(int j=0;j<LEN;j++)
{
sums[i][j]=INT_MIN;
}
}
init(a);
int max=INT_MIN,left,right;
for(int i=0;i<LEN;i++)
{
for(int j=i+1;j<LEN;j++)
{
if(sums[i][j]>max)
{
max=sums[i][j];
left=i;
right=j;
}
}
}
printf("%d,%d,%d",left,right,max);
getchar();
}
算法导论 练习题 4.1-2
最新推荐文章于 2023-03-23 23:00:00 发布