輸入乙個整形陣列,求所有子陣列的和的最大值。要求時間複雜度為o(n)。
例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2,因此輸出為該子陣列的和18。
注:如果當前狀態的累加和小於0,則放棄該狀態,將其歸零。
//依次遍歷陣列中的每個元素,把他們相加,如果累加和小於0,則
把當前元素之和清為0,否則和最大和比較,更新最大和
#includeusing
namespace
std;
int findgreatestsubsum(const
int a,const
intsize)
if(maxsum==0)
}return
maxsum;
}
子陣列最大和問題
1.最大子序和 給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。class solution else ans ans sum?ans su...
連續子陣列最大和問題
輸入乙個整形陣列,求陣列中連續的子陣列使其和最大。比如,陣列x 應該返回 x 2.6 的和187.我們很自然地能想到窮舉的辦法,窮舉所有的子陣列的之和,找出最大值。i,j的for迴圈表示x i.j k的for迴圈用來計算x i.j 之和。maxsofar 0 for i 0,n forj i,n s...
子陣列最大和
看到的乙個面試題。有很多人已經寫過,在此記下,明天給出拓展。題目 輸入乙個整型陣列,陣列裡有正數也有負數,陣列中連續的乙個或多個整數組成為子陣列,求有最大和的子陣列。要求 時間複雜度o n 如下 include using namespace std int main void int size s...