Where I am doing wrong in calculation in maximum total of subarray?

Question:

Hi I am trying to find the maximum total from the list. I don’t understand where I am going wrong.

subarr = [8,-2,-4,-1] 

def sub(subarr):
    sum = 0
    m = max(subarr)
    for i in range(len(subarr)-1):
        for j in range(subarr[i+1],len(subarr)):
            sum = subarr[i] + subarr[j]
            if sum > m:
                m = sum
    return print(m)
sub(subarr)

Output:

16

Expected output:

8
Asked By: John Paul

||

Answers:

Is this what you mean?

subarr = [8,-2,-4,-1] 

def sub(subarr):
    sum = 0
    m = max(subarr)
    for i in range(len(subarr)-1):
        sum = subarr[i]
        for j in range(i + 1,len(subarr)):
            sum += subarr[j]
            if sum > m:
                m = sum
    return print(m)
sub(subarr)
Answered By: Zxd2009
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.