C++程序 用于确定具有最大和的子数组的大小
给定一个数组,找出具有最大和的子数组长度。
示例:
输入:a[]={1, -2, 1, 1, -2, 1}
输出:子数组长度为2
解释:连续元素并且最大和的子数组是{1, 1}。因此长度为2
输入:a[]={-2, -3, 4, -1, -2, 1, 5, -3}
输出:子数组长度为5
解释:连续元素并且最大和的子数组是{4, -1, -2, 1, 5}。
这个问题主要是最大子序列和的一个变化。
的想法是每当以0为结尾的总和变得小于0时更新开始索引。
输出 :
时间复杂度: O(N),其中N是输入数组的大小。这是因为一个for循环从1到数组的大小执行。
空间复杂度: O(1),因为没有使用额外的空间。