簡單演算法 35 最大子序和

2022-08-01 07:18:12 字數 833 閱讀 8485

題目:

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

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

],輸出:

6解釋: 連續子陣列 [

4,-1,2,1] 的和最大,為 6

。高階:

如果你已經實現複雜度為 o(n) 的解法,嘗試使用更為精妙的分治法求解。

解題思路:

o(n)的解法:

class

solution

for(int i = 0;i < nums.size();++i)

if(sum < 0

) }

return

res;

}};

分治法:

class

solution

int maxleft =maxsum(nums,l,mid);

int maxright = maxsum(nums,mid+1

,r);

/*left max sub array

*/for(int i = mid;i>=l;--i)

/*right max sub array

*/sum = 0

;

for(int i = mid+1;i <= r;++i)

return max(leftsum+rightsum,max(maxleft,maxright));

}int maxsubarray(vector&nums)

};

演算法 最大子序和

題目描述 給定乙個整數陣列 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。本題,意為在乙個陣列裡面找到乙個連續子陣列,並且這個子陣列是所有連續子陣列中和最大的。咱們就一...