连续子数组的最大和

leetcode 题库 43 最大子序和

题目描述:

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

返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4]

输出: 6

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

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/maximum-subarray

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public int maxSubArray(int[] nums) {
int sum = 0;
int max = Integer.MIN_VALUE;
for (int num : nums) {
sum += num;
if (max < sum) {
max = sum;
}

if (sum < 0) {
sum = 0;
}
}
return max;
}

每一次相加的时候,只要是 sum 的值大于零,就相加的数来说就是把相加的数增大,

而相加的数是不知道的,结果也不知道,所以有可能取到最大值。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信