• Source
    1. import java.util.*;
    2.  
    3. class Ideone{
    4. public static void main(String[] args){
    5. int[] a = { -2, 3, -16, 100, -4, 5 };
    6. System.out.println("Maximum contiguous subarray sum => "+ maxContiguousSum(a));
    7.  
    8. int[] b = { -2, 11, -4, 13, -5, 2 };
    9. System.out.println("Maximum contiguous subarray sum => "+ maxContiguousSum(b));
    10. }
    11.  
    12. private static int maxContiguousSum(int[] a){
    13. int max_so_far = 0;
    14. int max_ending_here = 0;
    15.  
    16. for(int i=0; i<a.length; i++){
    17. max_so_far = max_so_far + a[i];
    18. if(max_so_far > max_ending_here){
    19. max_ending_here = max_so_far;
    20. }else if(max_so_far < 0){
    21. max_so_far = 0;
    22. }
    23. }
    24. return max_ending_here;
    25. }
    26. }
    27.