class Solution(object):
def maxSubArray(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
sum=0
max_sum=nums[0]
for i in nums:
sum=sum+i
if sum>max_sum:
max_sum=sum
if sum<0:
sum=0
return max_sum
官方解答:
代碼非常簡(jiǎn)潔侣监,遍歷時(shí)當(dāng)和大于當(dāng)前最大值术瓮,就替換當(dāng)前最大值国葬,否則sum歸零亲配,保持當(dāng)前值逮京,同時(shí)繼續(xù)尋找最大和值拦坠,for循環(huán)中的兩個(gè)if語(yǔ)句需要按照上面的順序來(lái)執(zhí)行笙隙。
class Solution(object):
def maxSubArray(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
max_substring=nums[0]
for i in range(len(nums)):
max_substring=max(max_substring,nums[i])
for j in range(len(nums)-i-1):
max_substring=max(max_substring,sum(nums[i:(i+j+2)]))
return max(max_substring,nums[-1])
自己考慮的結(jié)果傲茄,第一代碼寫(xiě)的比較混亂结啼,根據(jù)測(cè)試用例修修補(bǔ)補(bǔ)了兩次掠剑,第二時(shí)間復(fù)雜度太高,運(yùn)行大的測(cè)試數(shù)組時(shí)報(bào)運(yùn)行超時(shí)郊愧,F(xiàn)ail...