寻找最大和子数组(Kadane算法)

Java Medium arrays

任务 «寻找最大和子数组(Kadane算法)»

给定一个整数数组,找出具有最大和的子数组(连续元素序列)。输出该和。如果数组仅由负数组成,则输出最大的负数(即绝对值最小的负数)。

输入格式

第一行包含一个整数 N (1 ≤ N ≤ 10^5) — 元素的数量。第二行包含 N 个由空格分隔的整数 — 数组的元素。

输出格式

输出一个整数——子数组的最大和。

示例

示例 1

输入
3 abc abcd ab
输出
abcd

示例 2

输入
4 -1 -2 -3 -4
输出
-1

示例 3

输入
5 1 3 2 4 1
输出
11

示例 4

输入
2 a bb
输出
NO
main.java