算法测验| Sudo布局[1.5]|问题8

下面是查找最大子数组和的代码,在代码语句的右半部分注释的语句中有错误(可能导致错误的输出)。您需要选择相应语句错误的正确选项。

null

#include<iostream>
using namespace std;
// Function to calculate maximum subarray sum
int maxSubArraySum(int a[ ], int size)
{
int max_so_far = a[0];
int curr_max = a[0];
for (int i = 1; i < size; i++)
{
curr_max = max(a[i], curr_max); // statement 1
max_so_far = max(max_so_far, curr_max); // statement 2
}
return max_so_far;
}
/* Driver program to test maxSubArraySum */
int main()
{
int a[] =  {-2, -3, 4, -1, -2, 1, 5, -3};
int n = sizeof(a)/sizeof(a[0]);
int max_sum = maxSubArraySum(a, n);
cout << "Maximum contiguous sum is " << max_sum;
return 0;
}


(A) 声明1和声明2都有。 (B) 仅声明1。 (C) 仅声明2。 (D) 声明1和声明2都没有。 答复: (B) 说明: 参考:https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/ 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享