How to find the sum of the subarray which has the largest sum in JavaScript

2 Answers

0 votes
function max_subarray_sum(arr) {
    let max_sum = 0;
    let max_till_i = 0;
   
    for (let i = 0; i < arr.length; i++) {
        max_till_i = max_till_i + arr[i];
        max_till_i = (max_till_i > 0) ? max_till_i : 0;
        max_sum = (max_sum > max_till_i) ? max_sum : max_till_i;
    }
   
    return max_sum;
}
 
 
const arr = [1, -2, 2, -3, 4, -1, -1, 2, 3, -5, 4]; // 4 - 1 - 1 + 2 + 3 = 7
 
console.log(max_subarray_sum(arr)); 
  
 
  
   
/*
run:
    
7   
       
*/

 



answered Jul 28, 2019 by avibootz
edited Apr 16, 2023 by avibootz
0 votes
function max_subarray_sum(arr) {
    let max_sum = -Infinity
    let current_sum = 0
    
    for (let i = 0; i < arr.length; i++){ 
        current_sum = Math.max(arr[i], current_sum + arr[i])
        max_sum = Math.max(current_sum, max_sum)
    }
    return max_sum
}
 
 
const arr = [1, -2, 2, -3, 4, -1, -1, 2, 3, -5, 4]; // 4 - 1 - 1 + 2 + 3 = 7
 
console.log(max_subarray_sum(arr)); 
  
 
  
   
/*
run:
    
7   
       
*/

 



answered Apr 16, 2023 by avibootz
edited Apr 16, 2023 by avibootz

Related questions

1 answer 168 views
2 answers 211 views
2 answers 166 views
1 answer 167 views
1 answer 165 views
...