題目:在進行累加和判斷的時候首先需要明確,如果到目前為止的累加和 <0,那麼這段累加和肯定是要捨棄的,會影響到後面的大小。給定乙個陣列arr,返回子陣列的最大累加和
例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子陣列中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.
題目保證沒有全為負數的資料
[要求]
時間複雜度為o(n)o(n),空間複雜度為o(1)o(1)
所以演算法只需要使用一次遍歷,通過current儲存當前累加和,使用max儲存最大累加和,current從0開始,對每個元素進行累加,當current>max時更新max,當current<0時,需要從下個位置開始重新累加,此時current的值置為0。
完整**如下:
public int maxsumofsubarray (int arr)
if(current<0)
} return max;
}
牛客網刷題 子陣列的最大累加和問題
給定乙個陣列arr,返回子陣列的最大累加和 題目保證沒有全為負數的資料 例如,arr 1,2,3,5,2,6,1 所有子陣列中,3,5,2,6 可以累加出最大的和12,所以返回12。輸入 1,2,3,5,2,6,1 輸出 12暴力求解 巢狀遍歷 動態規劃 遍歷陣列累加求和,當發現和小於0,說明從此為...
牛客題霸 研發 NC19 子陣列最大累加和問題
本題鏈結 給定乙個陣列arr,返回子陣列的最大累加和 例如,arr 1,2,3,5,2,6,1 所有子陣列中,3,5,2,6 可以累加出最大的和12,所以返回12.題目保證沒有全為負數的資料 要求 時間複雜度為o n 空間複雜度為o 1 輸入 1,2,3,5,2,6,1 返回值12從容器第二個元素開...
牛客刷題 python 連續子陣列的最大和
輸入乙個整型陣列,陣列裡有正數也有負數。陣列中的乙個或連續多個整數組成乙個子陣列。求所有子陣列的和的最大值。要求時間複雜度為 o n 輸入 1,2,3,10,4,7,2,5 返回值18 說明輸入的陣列為,和最大的子陣列為,因此輸出為該子陣列的和 18。牛客的python環境為python 2.7 c...