【LeetCode with Python】 Maximum Subarray

来源:互联网 发布:three.min.js下载 编辑:程序博客网 时间:2024/05/29 12:29
博客域名:http://www.xnerv.wang
原题页面:https://oj.leetcode.com/problems/maximum-subarray/
题目类型:
难度评价:★
本文地址:http://blog.csdn.net/nerv3x3/article/details/3465696

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[n]            if None == max or sum > max:                max = sum            if sum < 0:                sum = 0                continue        return max

原创粉丝点击