标签:object pre out coding ini pytho 最大 odi app
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
Example:
Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.
Follow up:
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.
本题可以使用动态规划的方式来解决。设dp[i]是数组第i处的最大值,则dp[i]的递推表达式是:
class Solution(object):
def maxSubArray(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
l = len(nums)
dp = [None] * l
dp[0] = nums[0]
ret = nums[0]
for i in range(1,l):
if dp[i-1] >0 :
dp[i] = dp[i-1] + nums[i]
else:
dp[i] = nums[i]
ret = max(dp[i],ret)
return ret标签:object pre out coding ini pytho 最大 odi app
原文地址:https://www.cnblogs.com/bush2582/p/10924449.html