Kadane's Algorithm

Given an array arr of N integers. Find the contiguous sub-array with maximum 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.

Example 2:

Input:
N = 4
arr[] = {-1,-2,-3,-4}
Output:
-1
Explanation:
Max subarray sum is -1 
of element (-1)


method 1 :

use sorting:

sort both the string now check if the sorted strings are equal if they are equal return 1, else return 0.

c++ implementation:

 int maxSubarraySum(int a[], int n){
        int max=INT_MIN;int sum=0;
        for(int i=0;i<n;i++)
        {
            sum=sum+a[i];
            if(sum<a[i])
            sum=a[i];
            if(max<sum)
            max=sum;
            
        }
        return max;
        
    }
Time Complexity: O(n) 
space Complexity: O(1



No comments

darkmode