P21 连续子序列的最大和
算法 107 阅读
信号摘要
难度:Easy · 时长:04:24 · leetcode 53 · lintcode 41
未对外公开播放权限
点击查看说明
描述
这个题目说的是,给你一个非空整数数组,你要找到和最大的连续子序列,然后返回它的和。
比如说,给你的数组 a 是:2, -8, 3, -2, 4, -10
和最大的连续子序列是 3, -2, 4, 他们的和是 5。
代码
public class AlgoCasts {
// Time: O(n), Space: O(1)
public int maxSumOfSubArray(int[] nums) {
int max = Integer.MIN_VALUE, cur = 0;
for (int i = 0; i < nums.length; ++i) {
cur = cur <= 0 ? nums[i] : (cur + nums[i]);
max = Math.max(max, cur);
}
return max;
}
}