codility EquiLeader

来源:互联网 发布:仿没内涵网源码模板 编辑:程序博客网 时间:2024/06/07 20:02

Question:codility Lesson8 EquiLeader

My Answer:

def solution(A):    lenA = len(A)    candidata = -1    cnt = 0    for i in range(lenA):        if cnt == 0:            candidata = A[i]            cnt += 1        else:            if A[i] == candidate:                cnt += 1            else:                cnt -= 1    concnt = 0    for ele in A:        if ele == candidate:            concnt += 1    if concnt < lenA // 2:        return 0    res = 0    curcnt = 0    for i in range(lenA):        if A[i] == candidate:            curcnt += 1        if curcnt > (i + 1)//2 and concnt - curcnt > (lenA - i - 1)//2:            res += 1    return res