Kadane's Algorithm(Max subarray sum)

 public class kadanesalg {

    // MAXSUBARRAYSUM
    public static void kadanesalg(int arr[]) {
        int currSum = 0;
        int maxSum = Integer.MIN_VALUE;
        for (int i = 0; i < arr.length; i++) {
            currSum = currSum + arr[i];
            if (currSum < 0) {
                currSum = 0;
            }
            maxSum = Math.max(maxSum, currSum);
        }
        System.out.println("maximum sum:" + maxSum);
    }

    public static void main(String[] args) {
        int arr[] = { -2, -3, 4, -1, -2, 1, 5, 3 };
        kadanesalg(arr);
    }
}

Comments