Ad Unit (Iklan) BIG

maximum sum of subarray


kadane’s algorithm:

kadane's algorithm is able to find the maximum sum of a contiguous subarray in an array with a runtime of O(n).

c# :

static int maxsubarraysum(int []a)
{
    int max_sum = int.MinValue,
    int cur_sum = 0;

    for (int i = 0; i < a.Length ; i++)
    {
        cur_sum = cur_sum + a[i];
       
        if (max_sum < cur_sum)
            max_sum = cur_sum;
       
        if (cur_sum < 0)
            cur_sum = 0;
    }

    return max_sum;
}

javascript:

var maxsubarraysum = function(arr){

  var max_sum = 0,  cur_sum = 0;

  for(var i = 0; i < arr.length; i++){
    cur_sum = Math.max(0, cur_sum + arr[i]);
    max_sum = Math.max(cur_sum, max_sum);
  }

  return max_sum;
}

maxsubarraysum([-2,1,-3,4,-1,2,1,-5,4])

output: 6

Post a Comment

0 Comments