[Codility] MaxCounters
77%
効率-2:カウンタアレイの初期化にも時間がかかります
def solution(N, A):
counters = [0] * N
m = 0
for a in A:
if a > N:
counters = [m]*N
else:
counters[a-1] += 1
m=max(counters[a-1], m)
if isNup :
for i, c in enumerate(counters):
if c < curMax:
counters[i] = curMax
return counters
100%
カウンタアレイの初期化を最小化!
更新
def solution(N, A):
counters = [0] * N
isNup = False
m = 0
curMax = 0
for a in A:
if a > N:
isNup = True
curMax = m
else:
if counters[a-1] < curMax :
counters[a-1] = curMax
counters[a-1] += 1
m=max(counters[a-1], m)
if isNup :
for i, c in enumerate(counters):
if c < curMax:
counters[i] = curMax
return counters
Reference
この問題について([Codility] MaxCounters), 我々は、より多くの情報をここで見つけました https://velog.io/@kohy0329/Codility-MaxCountersテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol