2
這是我的程序,用於查找最大最大連續子序列總和。我能夠計算總和。如何修改這段代碼以找到這個最大子序列和的開始和結束索引?查找最大連續子序列總和的開始和結尾
int maxSubArraySum(int a[], int size)
{
int final_max = 0, curr_max = 0;
for (int i = 0; i < size; i++)
{
curr_max = curr_max + a[i];
if (curr_max < 0)
curr_max = 0;
else if (final_max < curr_max)
final_max = curr_max;
}
return final_max;
}
請問您可以將輸入示例與期望的輸出? –
輸入:2,-6,7,-3,12輸出:2,4,因爲最大的連續和是元素7,3,12等於16並且索引7是2而12的索引是4。 – XZ6H
我完全不理解你的代碼的邏輯。例如,如果所有數字都是負數,那麼您將在每次迭代中將'curr_max'重置爲零。 – user463035818