TypeScriptMediumDynamic Programming25 min

Find the maximum contiguous subarray sum

Return the largest sum of a nonempty contiguous subarray. The input array has at least one element. Inputs are valid JSON and must not be modified unless the algorithm uses a local copy. This exercise probes typed data modeling, boundary handling, and algorithm selection.

Input

One JSON value: number[]. See the sample for its exact shape.

Output

One compact JSON value of type number. Strings include JSON quotes; arrays preserve the specified order.

Constraints

Array/string lengths are 0 to 10000 unless stated otherwise. Numbers are integers in [-1000000,1000000]; all computed results fit the safe integer range.

Example

Input

[-2,1,-3,4,-1,2,1,-5,4]

Output

6

Example 2 input

[5,-9,6]

Output

6

Checks a boundary or contrasting case beyond the public examples.

Public test cases (2)

  • Input

    [-2,1,-3,4,-1,2,1,-5,4]

    Expected output

    6
  • Input

    [-5]

    Expected output

    -5
Hints (2)
  1. Start with the required output order and the empty-input behavior.
  2. Keep the best sum ending at the current index

Target complexity: time O(n) · space O(1)

Your solution

Checking runner availability…

Reference solution

Sign in for solution
All TypeScript programs