调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
简单
相关标签
相关企业
提示

给定一个整数数组,找出总和最大的连续数列,并返回总和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

进阶:

如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。

通过次数
56K
提交次数
96K
通过率
58.3%


相关企业

提示 1
把数字想象成正负交替的数字序列。注意,我们永远不会只包含一个正序列的一部分或者一个负序列的一部分。

提示 2
注意,如果你有一个和是负数的数列,那么其一定不是一个数列的开始或结束(如果它们连接了另外两个数列,那么就可以以一个数列的形式出现)。

提示 3
从数组的开头开始。当这个子数列增长时,它仍然是最佳子数列。然而,一旦变成负数,它就没有意义了。

提示 4
如果跟踪计算中的和,那就应该在子数列为负时立即重置它。我们永远不会在另一个子数列的开头或结尾添加一个和为负数的数列。

提示 5
你可以在O(N)时间复杂度和O(1)空间复杂度内解决此问题。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
运行和提交代码需要登录
nums =
[-2,1,-3,4,-1,2,1,-5,4]
Source