gpt4 book ai didi

c - C 中连续子数组的最大和

转载 作者:行者123 更新时间:2023-11-30 16:13:02 24 4
gpt4 key购买 nike

问题是求最大连续子数组和;我得到 0 作为输出,在某些情况下得到一个随机数(我检查了是否超出数组范围,但一切看起来都很好)。

我在 STACK OVERFLOW 中看到了类似的问题,但其中大多数是针对小输入和其他编程语言的。

这是我的代码:

int maxSubArray(const int* A, int n1) 
{
int i,j,max[n1],L;

for (i=0;i<n1-1;i++)
{
int sum=A[i]+A[i+1];
max[i]=sum;
for(j=i+1;j<n1-1;j++)
{
sum=sum+A[j+1];
if(sum>max[i])
{
max[i]=sum;
}
}
}

for(i=1;i<n1;i++)
{
L=max[0];
if(max[i]>L)
{
L=max[i];
}
}

return(L);
}

请帮我找出我的代码有什么问题。

最佳答案

  • OP 确实希望对至少 2 个条目求和(不是 0 或 1)。
  • L=max[0] 需要位于第二个外循环之前(我们在其中确定哪个条目最大)。
  • 第二个外循环超出了一个条目,因为最后一个条目未定义(由于 2 个条目规则)

关于c - C 中连续子数组的最大和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58178213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com