Leetcode 連續子陣列的最大和

2021-10-03 05:18:52 字數 636 閱讀 7273

leetcode

輸入乙個整型陣列,陣列裡有正數也有負數。陣列中的乙個或連續多個整數組成乙個子陣列。求所有子陣列的和的最大值。

要求時間複雜度為o(n)。

示例1:

輸入: nums = [-2,1,-3,4,-1,2,1,-5,4]

輸出: 6

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

貪心演算法:每一步都求出最優解

題目是連續子陣列,需要遍歷陣列進行更新

陣列當前位置儲存從起始點到該點的最大和

每一步更新當前位置最大和

當前位置最大和=陣列元素+max(0,陣列前一步的最大和)

class

solution

:def

maxsubarray

(self, nums: list[

int])-

>

int:

for i in

range(1

,len

(nums)):

nums[i]

= nums[i]

+max(0

,nums[i-1]

)return

max(nums)

leetcode 連續的子陣列和

給定乙個包含 非負數 的陣列和乙個目標 整數 k,編寫乙個函式來判斷該陣列是否含有連續的子陣列,其大小至少為 2,且總和為 k 的倍數,即總和為 n k,其中 n 也是乙個整數。示例 1 輸入 23,2,4,6,7 k 6 輸出 true 解釋 2,4 是乙個大小為 2 的子陣列,並且和為 6。示例...

leetcode面試題42 連續子陣列的最大和

題目描述 示例動態規劃 分析 結果輸入乙個整型陣列,陣列裡有正數也有負數。陣列中的乙個或連續多個整數組 成乙個子陣列。求所有子陣列的和的最大值。要求時間複雜度為o n 輸入 nums 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。這道題網上的解法有...

leetcode 連續子陣列的最大和

該題要求時間複雜度為 n 對於連續子陣列最大和問題,使用分治演算法時間複雜度為 nlgn 而使用動態規劃演算法時間複雜度為 n 因此本題考慮使用動態規劃演算法求解 接下來分析該問題的最優子結構,假設當前陣列a 0 n 的連續子陣列最大和為s ns n sn 它與陣列a 0 n 1 的連續子陣列最大和...