44. 最小子數組:
給定一個整數數組,找到一個具有最小和的子數組。返回其最小和。
樣例:
給出數組[1, -1, -2, 1],返回 -3
這裡需要注意的是“子數組”,一開始沒注意到子數組,以為直接將其中的負數相加就可以了。結果就出現了例如當數組是[-5,3,-9]的時候輸出的結果是-14。真正答案是-9的尷尬。
所以這裡有一個很關鍵的地方,在於子數組應該是連續的;
45. 最大子數組差:
給定一個整數數組,找出兩個不重疊的子數組A和B,使兩個子數組和的差的絕對值|SUM(A) - SUM(B)|最大。
返回這個最大的差值。
樣例:
給出數組[1, 2, -3, 1],返回 6
解題思路:
要使絕對值差最大,則一定是Amax-Bmin,或者Bmax-Amin,因此求出A、B子串的局部和的最大最小值,然後取差值最大的。
閱讀更多 我的內容我做主 的文章