剑指 Offer 42. 连续子数组的最大和
思路:存储cur存储当前连续子数组的值。
单次表里
1)当它小于零时已经没有必要存储当前的值了,设为零。
2)每次存储ans的最大值
a
n
s
=
m
a
x
(
c
u
r
,
a
n
s
)
ans = max(cur,ans)
ans=max(cur,ans)
class Solution {
public int maxSubArray(int[] nums) {
int ans = -0x3f3f3f3f, cur = 0 ;
for(int i = 0 ; i < nums.length; i++){
cur += nums[i];
if(cur > ans ) ans = cur;
if(cur < 0) cur = 0 ;
}
return ans;
}
}