最大和子陣列3

2021-08-14 14:25:48 字數 470 閱讀 5326

給定乙個整數陣列和乙個整數 k,找出k 個不重疊子陣列使得它們的和最大。每個子陣列的數字在陣列中的位置應該是連續的。

返回最大的和。

注意事項

子陣列最少包含乙個數

您在真實的面試中是否遇到過這個題?

yes

樣例給出陣列[-1,4,-2,3,-2,3]以及 k =2,返回8

點題:邊界條件,很巧妙

class solution 

vector> sums(nums.size() + 1, vector(k + 1, 0));

for (int j = 1; j <= k; j++) }}

return sums[nums.size()][k];

}};

類似的題:

另一種解法:

子陣列最大和

看到的乙個面試題。有很多人已經寫過,在此記下,明天給出拓展。題目 輸入乙個整型陣列,陣列裡有正數也有負數,陣列中連續的乙個或多個整數組成為子陣列,求有最大和的子陣列。要求 時間複雜度o n 如下 include using namespace std int main void int size s...

子陣列最大和

設sum i 為以第i個元素結尾且和最大的連續子陣列。假設對於元素i,所有以它前面的元素結尾的子陣列的長度都已經求得,那麼以第i個元素結尾且和最大的連續子陣列實際上,要麼是以第i 1個元素結尾且和最大的連續子陣列加上這個元素,要麼是只包含第i個元素,即sum i max sum i 1 a i a ...

子陣列最大和

思路 隨機產生5個數存在陣列a裡,定義陣列b來儲存子陣列的和,求和先求以第乙個隨機數開頭的所有情況,再求以第二個數開頭的所有情況,以此類推,例如 隨機數為1,2,3,4,5 先求 1,2,3,4,5 1,2,3,4 1,2,3 1,2這幾個子陣列的和,然後繼續求 2,3,4,5 2,3,4 2,3以...