算法分析-最大子数组和
刚做了乘积最大子数组,现在趁热打铁继续研究:最大子数组和 给你一个整数数组 ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 理解上一题之后,再看这道题就简单了。 不用担心负号会直接将结果反转,所以不用记录下最小的值。 只需要当前面的子串之和已经是负数时,就截断子串,由当前值重新开一个子串即可。 光说概念有些抽象,现在我将拆解一个例子来…
Tags
刚做了乘积最大子数组,现在趁热打铁继续研究:最大子数组和 给你一个整数数组 ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 理解上一题之后,再看这道题就简单了。 不用担心负号会直接将结果反转,所以不用记录下最小的值。 只需要当前面的子串之和已经是负数时,就截断子串,由当前值重新开一个子串即可。 光说概念有些抽象,现在我将拆解一个例子来…
继续研究:乘积最大子数组 给你一个整数数组 ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32 位整数。注意,一个只包含一个元素的数组的乘积是这个元素的值。 这个题的关键在于处理 和负数,因为正数连乘只会越乘越大。 子串中有 ,乘积结果就是 。 子串中有奇数个负数,越乘越小;有偶数个负数,负负得正,也会越来越大。 我尝试使…