Update appNew update is available. Click here to update.
Last Updated: 2 Sep, 2019
Maximum Subarray Sum
Moderate
Problem statement

Given an array of numbers, find the maximum sum of any contiguous subarray of the array.

For example, given the array [34, -50, 42, 14, -5, 86], the maximum sum would be 137, since we would take elements 42, 14, -5, and 86.

Given the array [-5, -1, -8, -9], the maximum sum would be -1.

Follow up: Do this in O(N) time.

Input Format:

The first line of input contains size of array, which is denoted by N and second line of input contains N space separated integers.

Output Format:

The first and only line of output should print the maximum subarray sum, as described in the description.

Approaches

01Approach

  1. Create a nested loop. The outer loop will go from i = 0 to i = n - k. This will cover the starting indices of all k-subarrays
  2. The inner loop will go from j = i to j = i + k - 1. This will cover all the elements of the k-subarray starting from index i
  3. Keep track of the maximum element in the inner loop and print it.