[Lintcode]41. Maximum Subarray/[Leetcode]53. Maximum Subarray
生活随笔
收集整理的這篇文章主要介紹了
[Lintcode]41. Maximum Subarray/[Leetcode]53. Maximum Subarray
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
41. Maximum Subarray/53. Maximum Subarray
- 本題難度: Eas
- Topic: Dynamic Programming
Description
Given an array of integers, find a contiguous subarray which has the largest sum.
Example
Example1:
Given the array [?2,2,?3,4,?1,2,1,?5,3], the contiguous subarray [4,?1,2,1] has the largest sum = 6.
Example2:
Given the array [1,2,3,4], the contiguous subarray [1,2,3,4] has the largest sum = 10.
Challenge
Can you do it in time complexity O(n)?
Notice
The subarray should contain at least one number.
我的代碼
class Solution:def maxSubArray(self, nums):""":type nums: List[int]:rtype: int"""#Oct 10, 2018l = len(nums)if l == 0:return 0if l == 1:return nums[0]top = nums[0]tmp = topfor i in range(1,l):if top<0 and nums[i]>top:top = nums[i]tmp = topcontinueif nums[i]+tmp>0:tmp = tmp + nums[i]if tmp>top:top = tmpelse:tmp = 0return top別人的代碼
for i in range(1, len(nums)):if nums[i-1] > 0:nums[i] += nums[i-1]return max(nums)思路
那個別人的代碼真個天才我的天哦
轉載于:https://www.cnblogs.com/siriusli/p/10388349.html
總結
以上是生活随笔為你收集整理的[Lintcode]41. Maximum Subarray/[Leetcode]53. Maximum Subarray的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaScript学习之正则表达式初探
- 下一篇: LeetCode第155题 最小栈