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
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
0 Comments