本题采用 Kadane 算法,维护当前子数组最大值与全局最大值。
1 | class Solution: |
题目解析:
核心思路是一个局部数组,一个全局数组。
局部数组还有一个巧妙的想法就是之分两种情况:
第一种只拿当前这个数组,也就是从这个数组开始。
第二种前面的子数组之和,加上当前这个数组。
理由分析:
如果前面子数组之和是负数,那我不如拿max(这个数组,前面子数组之和)。
如果前面子数组之和是正的,那我直接前面子数组加这个数组是最大的。
然后全局数组负责记录最大的之和
本题采用 Kadane 算法,维护当前子数组最大值与全局最大值。
1 | class Solution: |
题目解析:
核心思路是一个局部数组,一个全局数组。
局部数组还有一个巧妙的想法就是之分两种情况:
第一种只拿当前这个数组,也就是从这个数组开始。
第二种前面的子数组之和,加上当前这个数组。
理由分析:
如果前面子数组之和是负数,那我不如拿max(这个数组,前面子数组之和)。
如果前面子数组之和是正的,那我直接前面子数组加这个数组是最大的。
然后全局数组负责记录最大的之和