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

Popular posts from this blog

optimsed apporach

what i learn

creative codes