Untitled
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