Leetcode 剑指 Offer 42. 连续子数组的最大和 (每日一题 20211014)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 剑指 Offer 42. 连续子数组的最大和 (每日一题 20211014)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸入一個整型數組,數組中的一個或連續多個整數組成一個子數組。求所有子數組的和的最大值。要求時間復雜度為O(n)。示例1:輸入: nums = [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋:?連續子數組?[4,-1,2,1] 的和最大,為?6。鏈接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcofclass Solution:def maxSubArray(self, nums: List[int]) -> int:length = len(nums)dp = [0] * (length + 1)ans = nums[0]for i in range(1, length + 1):dp[i] = max(nums[i-1], dp[i-1] + nums[i-1])ans = max(dp[i], ans)return ans
總結
以上是生活随笔為你收集整理的Leetcode 剑指 Offer 42. 连续子数组的最大和 (每日一题 20211014)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 349. 两个数组的交
- 下一篇: Leetcode 47. 全排列 II