[codility]MaxCounters

Python代码如下:

def solution(N, A):
    # write your code in Python 2.6
    maxCount = 0
    lastMaxSetter = 0
    counters = [0]*N
    for op in A:
        if op == N+1:
            lastMaxSetter = maxCount
        else:
            if counters[op-1] < lastMaxSetter:
                counters[op-1] = lastMaxSetter
            counters[op-1] += 1
            maxCount = max(maxCount, counters[op-1])
    #let last max setter applied to every counter
    for i in xrange(0, N):
        counters[i] = max(counters[i], lastMaxSetter)
    
    return counters
    pass


你可能感兴趣的:([codility]MaxCounters)