leetcode之動態規劃(更新ing)

2021-10-23 04:55:49 字數 495 閱讀 6732

給定乙個整數陣列(有正數有負數),找出總和最大的連續數列,並返回總和。

示例:

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

輸出: 6

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

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

class solution:

def maxsubarray(self, nums: list[int]) -> int:

if len(nums)<2:

return sum(nums)

dp=[0]*len(nums)

dp[0]=nums[0]

for i in range(1,len(nums)):

dp[i]=max(nums[i],nums[i]+dp[i-1])

return max(dp)

leetcode之動態規劃小結(一)

最近學習動態規劃有點吃力,感覺這個東西雖然說是有套路的,但是剛開始的時候還是覺得難。現在網上也有很多講動態規劃的原理以及做法的,我就不多說了,主要還是以例子來記錄一下最近的心得。你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜...

leetcode 動態規劃

題目如下 給定乙個整型陣列,至少有乙個元素,請計算子陣列最大乘積是多少?子陣列必須是原陣列中連續的一串數字構成的陣列。整數可正可負。例如 給定陣列 2,3,2,4 經過計算,得到最大乘積為6。子陣列為 2,3 根據原貼的解題思路,這道題可以用動態規劃來解,但難度在 呢?負負得正,就可惡在這裡。那這個...

Leetcode 動態規劃

題目 原題鏈結在這裡 最長字串鏈。給乙個單詞列表,找乙個詞鏈,使得詞鏈後乙個單詞由前乙個單詞增加乙個字元得到,求最長詞鏈長度。解答 1 根據詞鏈的定義,短的單詞可以由長的單詞減去單詞中乙個字元得到。因此可以先對單詞列表,按照單詞的長度從大到小排序。2 單詞的最大長度為 16,因此可以對於每個單詞 w...