您的位置:首页 > 编程语言 > Python开发

【LeetCode with Python】 Maximum Subarray

2008-12-07 13:27 525 查看
博客域名:http://www.xnerv.wang

原题页面:https://oj.leetcode.com/problems/maximum-subarray/

题目类型:

难度评价:★

本文地址:/article/1377543.html

Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

For example, given the array
[−2,1,−3,4,−1,2,1,−5,4]
,

the contiguous subarray
[4,−1,2,1]
has the largest sum =
6
.

click to show more practice.
More practice:
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.

找最大和子数组,也是经典题目之一。

class Solution:

    # @param A, a list of integers
    # @return an integer
    def maxSubArray(self, A):

        len_A = len(A)
        if 1 == len_A:
            return A[0]

        max = None
        sum = 0
        for n in range(0, len_A):
            sum += A

            if None == max or sum > max:
                max = sum
            if sum < 0:
                sum = 0
                continue

        return max
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: