int Solution::solve(vector<int> &A, int B) {
int size = static_cast<int>(A.size());
int max = 0;
// printf("%d ",size);
// printf("%d %d ",A[0],A[size-1]);
int temp = 0, t2 = 0;
for (int i = -1; i < B; i++) {
if (i != -1)
temp += A[i];
t2 = temp;
for (int j = size - 1; j > (size - B + i); j--)
t2 += A[j];
if (t2 > max)
max = t2;
}
return max;
}
当我运行这段代码时,注释打印语句时返回的max值为0。当我使用打印语句时,返回的值是正确的。谁能帮助我了解为什么会这样吗?或是否有解决方法? (我不想通过其功能打印任何输出)。使用带空引号或NULL的printf似乎也不能解决问题。任何帮助表示赞赏。