Dynamic Programming 04
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.
Problem link :- click here
Code
import java.util.Scanner;
// KADANE'S ALGORITHM
public class DynamicProgramming_04
{
static int maxSum(int arr[])
{
int cur_sum = arr[0];
int max_sum = arr[0];
for(int i=1; i<arr.length; i++)
{
cur_sum += arr[i];
if(max_sum < cur_sum)
max_sum = cur_sum;
if(cur_sum < 0)
cur_sum = 0;
}
return max_sum;
}
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("Enter the size of the array : ");
int n = s.nextInt();
int arr[] = new int[n];
for(int i=0; i<n; i++)
arr[i] = s.nextInt();
int sum = maxSum(arr);
System.out.println(sum);
s.close();
}
}
Comments
Post a Comment