Untitled

 avatar
unknown
plain_text
a month ago
688 B
1
Indexable
public class MaxSubarraySum {
    public static int findMaxSum(int[] arr) {
        int maxi = Integer.MIN_VALUE; // max sum
        int lsum = 0; // local sum

        for (int i = 0; i < arr.length; i++) {
            lsum += arr[i];
            maxi = Math.max(maxi, lsum); // Update maximum sum

            // Reset local sum if it becomes negative
            if (lsum < 0) {
                lsum = 0;
            }
        }

        return maxi; // Return the maximum sum
    }

    public static void main(String[] args) {
        int[] arr = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
        System.out.println("Maximum Subarray Sum: " + findMaxSum(arr));
    }
}
Leave a Comment