📜  门| GATE-CS-2014-(Set-1) |第 50 题

📅  最后修改于: 2021-09-26 04:35:01             🧑  作者: Mango

考虑以下 C函数,其中 size 是数组 E 中的元素数:

函数MyX 返回的值是

int MyX(int *E, unsigned int size)
{
    int Y = 0;
    int Z;
    int i, j, k;
    for(i = 0; i < size; i++)
        Y = Y + E[i];
    for(i = 0; i < size; i++)
        for(j = i; j < size; j++)
        {
            Z = 0;
            for(k = i; k <= j; k++)
                Z = Z + E[k];
            if (Z > Y)
                Y = Z;
        }
    return Y;
}

(A)数组 E 的任何子数组中元素的最大可能总和。
(B)数组 E 的任何子数组中的最大元素。
(C)数组 E 的所有可能子数组中最大元素的总和
(D)数组 E 中所有元素的总和。答案:(一)
说明:说明:该函数执行以下操作
Y 用于存储迄今为止看到的最大和,Z 用于存储当前和
1) 将 Y 初始化为所有元素的总和
2) 对于每个元素,计算以 arr[i] 开头的所有子数组的总和。将当前和存储在 Z 中。 如果 Z 大于 Y,则更新 Y。
这个问题的测验