每日一道算法题3——获得数组子数组最大和

题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每一个子数组都有一个和,求全部子数组和中的最大值,要求时间复杂度为O(n)。 分析:时间复杂度为O(n),代表需至多一次循环遍历该数组,遍历该数组时将遍历的元素求和,若是小于0则丢弃当前元素以前的元素,不然就将这个和值累加到最终结果。若是全部元素都小于0,则需找到全部元素中最大的一个元素返回。 参考代码:ios
相关文章
相关标签/搜索