Kadane's Algorithm is one of the algorithms to efficiently find maximum sum of continuous subarray.
problem
Given an array Arr[] of N integers. Find the contiguous sub-array(containing at least one number) which has the maximum sum and return its sum.
Example 1:
Input:
N = 5
Arr[] = {1,2,3,-2,5}
Output:
9
Explanation:
Max subarray sum is 9
of elements (1, 2, 3, -2, 5) which
is a contiguous subarray.
TC:
SC:
class Solution {
public int maxSubArray(int[] nums) {
int max = Integer.MIN_VALUE;
int currentSum = 0;
for(int i =0;i<nums.length;i++){
currentSum+=nums[i];
if(currentSum > max){
max = currentSum;
}
if(currentSum <0){
currentSum = 0;
}
}
return max;
}
}
Top comments (0)