Untitled

 avatar
unknown
plain_text
22 days ago
823 B
1
Indexable
public class MinSubarraySum {
    public static int findMinSum(int[] arr) {
        int mini = Integer.MAX_VALUE; // Minimum sum
        int lsum = 0; // Local sum

        for (int i = 0; i < arr.length; i++) {
            lsum += arr[i];
            mini = Math.min(mini, lsum); // Update minimum sum

            // Reset local sum if it becomes positive
            if (lsum > 0) {
                lsum = 0;
            }
        }

        return mini; // Return the minimum sum
    }

    public static void main(String[] args) {
        int[] arr = {3, -4, 2, -5, 6};
        System.out.println("Minimum Subarray Sum: " + findMinSum(arr)); // Output: -7

        int[] arr2 = {-2, -3, -1, -5};
        System.out.println("Minimum Subarray Sum: " + findMinSum(arr2)); // Output: -11
    }
}
Leave a Comment