演算法 最大子序和 js解法

2021-09-29 22:32:40 字數 642 閱讀 2949

【題目描述】

給定乙個整數陣列 nums ,找到乙個具有最大和的連續子陣列(子陣列最少包含乙個元素),返回其最大和。

示例:輸入: [-2,1,-3,4,-1,2,1,-5,4],

輸出: 6

解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。

【思路】這道題可以用動態規劃的思想進行解題。

我們首先肯定要對陣列進行遍歷,通常我們進行遍歷有三種方式:

1.我們通常遍歷乙個子串行,通常想法都是按這種方式,以某個節點開頭的所有子串行:例如這樣乙個;

[x],[x,y],[x,y,z]...再以y開頭的子串行進行遍歷[y],[y,z]..

2.我們反其道而行之。以子串行的結束點為基準,遍歷以這個結束節點的所有子串行。

例如:以y結束,所有子串行為[y],[x,y].以z結束為節點,那就是[z],[y,z],[x,y,z].

就是按這個為解題的主要方法。

3.根據子串行的長度,例如:先遍歷子串行長度為1的子串行,然後遍歷長度為2的...

此題就是用第二種遍歷方法。**示例如下:

var maxsubarray = function(nums) 

return max_back;

};

演算法 最大子序和

題目描述 給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。高階 如果你已經實現複雜度為 o n 的解法,嘗試使用更為精妙的分治法求解。解題方...

swift演算法 最大子序和

1 描述 給定乙個整數陣列 nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。例1 輸入 2,3,1,1,3 輸出 3 解釋 連續子陣列 3,1,1 的和最大,為3 例2 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為...

演算法(2) 最大子序和

給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。本題,意為在乙個陣列裡面找到乙個連續子陣列,並且這個子陣列是所有連續子陣列中和最大的。咱們就一...