最大子数组和

已关闭
dadingPython / C++入场费 2 金币4 次提交

题目描述

给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

例如:nums = [-2,1,-3,4,-1,2,1,-5,4] 最大子数组和为 6(子数组 [4,-1,2,1])

输入格式

第一行一个整数 n(1≤n≤100000),第二行 n 个整数(-10000≤nums[i]≤10000)

输出格式

一个整数,表示最大子数组和

输入输出样例

样例 1

输入:

9
-2 1 -3 4 -1 2 1 -5 4

输出:

6

说明/提示

Kadane算法,O(n)时间复杂度。注意全为负数的边界情况。