Prueba de algoritmos | Colocación de Sudo [1.5] | Pregunta 8

A continuación se muestra el código para encontrar la suma máxima de subarreglo, con errores (que pueden dar como resultado un resultado incorrecto) en la declaración que se comenta en la mitad derecha después de la declaración del código. Debe elegir la opción correcta para la cual la declaración correspondiente es incorrecta.

#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) Declaración 1 y declaración 2 ambas.
(B) Declaración 1 únicamente.
(C) Declaración 2 únicamente.
(D) Ni la declaración 1 ni la declaración 2.

Respuesta: (B)
Explicación: Consulte: https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *