最大子数组和
最大子数组和
思路
贪心的思路是,如果+nums[i]后子数组和为负数,那么以nums[i+1]为起始点进行遍历
卡哥说初始result要是计算机能表示的最小的整数,刚开始我不理解。现总结这样做的目的。
首先我们有两个变量result和count,result负责保存最终的结果,count保存遍历过程中子数组的和。
如果数组中有正整数,那么其实没必要result为最小整数。但我们不能保证数组中一定有正整数。 想一个极端的例子,数组中全是负数的情况。
在遍历到第1个负数的时候,result就被赋值为当前这个负数,此时count为负数,那么放弃这个起点,以第2个数为起点。如果第二个数大于第一个数,那么result被赋值为第2个负数。以此类推,result会是数组中最大的负数。
求解
1 | var maxSubArray = function(nums) { |