每日一題 最大子序和

2021-10-02 20:19:05 字數 471 閱讀 2775

這道題雖然是簡單題,但我覺得很有趣,o(n)的思路其實很簡單:從第乙個元素開始,如果當前元素超過從頭到當前所有元素之和,那麼就把當前元素作為第乙個元素繼續遍歷:

class solution:

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

n = len(nums)

curr_sum = max_sum = nums[0]

for i in range(1, n):

curr_sum = max(nums[i], curr_sum + nums[i])

max_sum = max(max_sum, curr_sum)

return max_sum

每日一題 最大子序和

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

Leedcode 每日一題 最大子序和

給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6解釋 連續子陣列 4,1,2,1 的和最大,為 6。提交 動態規劃,最基本的題,dp陣列代表該以該位置結尾的子串行的最大和 class soluti...

每日一題 LeetCode之最大子序和

給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。思路 遍歷陣列,用sum表示連續子陣列的和,當sum大於0時,說明當前數字前面若干個連續的數...