MaxProfit 100% Solution in python

Question

app.codility.com

My Solution

app.codility.com

def solution(A):
    
    # calculate the difference everyday
    diff = [0] * len(A)
    for i in range(1, len(A)):
        diff[i] = A[i]-A[i-1]
        
    # print(diff)
    
    # find the max slice
    maxEnding = 0
    maxSlice = 0
    for i in range(len(A)): 
        # print(maxEnding)
        maxEnding = max(0, maxEnding+diff[i])
        maxSlice = max(maxSlice, maxEnding)
    
    # print(maxSlice)

    return maxSlice

Note

The reading material is worth reading:

https://codility.com/media/train/7-MaxSlice.pdfcodility.com