Examveda

Complete the following code for Kadane's algorithm:
#include<stdio.h>
int max_num(int a, int b)
{ 
      if(a > b)
         return a; 
      return b;
}
int kadane_algo(int *arr, int len)
{	
     int ans, sum, idx;
     ans =0;
     sum =0;
     for(idx =0; idx < len; idx++)
     {
         sum = max_num(0,sum + arr[idx]);
         ans = ___________;
     }
     return ans;
}
int main()
{
     int arr[] = {-2, -3, 4, -1, -2, 1, 5, -3},len=7;
     int ans = kadane_algo(arr,len);
     printf("%d",ans);
     return 0;
}

A. max_num(sum, sum + arr[idx])

B. sum

C. sum + arr[idx]

D. max_num(sum,ans)

Answer: Option D


Join The Discussion

Related Questions on Dynamic Programming in Data Structures