Task: Maxcounters Es ist ein individueller Eindruck.
①Speed N*M
def solution(N, A):
anslist = [0] * N
maxvalue = 0
for i in A:
try:
anslist[i-1] += 1
except:
maxvalue = max(anslist)
anslist = [maxvalue] * N
return anslist
Ich dachte, wenn ich bei jedem Versuch maximal wäre, wäre es N * 2, also Ich habe nur bei Bedarf versucht, das Maximum zu erreichen. Aber natürlich hängt es von der Häufigkeit des Auftretens von N + 1 ab, also wird es N * M sein. Überzeugt.
②Speed: N+M
def solution(N, A):
anslist = [0] * N
maxchecker = 0
for i in A:
try:
anslist[i-1] += 1
if anslist[i-1] > maxchecker:
maxchecker = anslist[i-1]
except:
anslist = [maxchecker] * N
return anslist
Eindrücke und Lernen: Ich weiß nicht warum N ** + M ** ??? .. .. Vermuten. Und ich habe Geschwindigkeit N oder Log (N) nicht erreicht.
Recommended Posts