using methods to solve problem
//for finding maximum subarray sum:
class Main {
public static void main(String[] args) {
int[] arr = {4, -1, 2, 1};
int cur_sum = arr[0];
int max_sum = arr[0]; // track the best sum so far
for (int i = 1; i < arr.length; i++) {
// either extend the previous subarray OR start fresh from arr[i]
cur_sum = Math.max(arr[i], cur_sum + arr[i]);
// update the maximum sum found so far
max_sum = Math.max(max_sum, cur_sum);
}
System.out.println("Maximum Subarray Sum = " + max_sum);
}
}
//for finding minimum subarray of the sum:
class Main {
public static void main(String[] args) {
int[] arr = {4, -1, 2, 1};
int cur_sum = arr[0];
int max_sum = arr[0]; // track the best sum so far
for (int i = 1; i < arr.length; i++) {
// either extend the previous subarray OR start fresh from arr[i]
cur_sum = Math.min(arr[i], cur_sum + arr[i]);
// update the maximum sum found so far
max_sum = Math.min(max_sum, cur_sum);
}
System.out.println("Maximum Subarray Sum = " + max_sum);
}
}
Comments
Post a Comment