#32292: TLE(python)


Alan990118 (Alan990118)

學校 : 國立新竹高級中學
編號 : 144336
來源 : [140.138.54.192]
最後登入時間 :
2023-03-28 20:01:11
b374. [福州19中]众数 | From: [140.138.55.114] | 發表日期 : 2022-09-27 13:36

n=int(input())
num=list(map(int,input().split()))
num.sort()
num2=[]
num3=[]
max=0
num2=list(set(num))
for i in num2:
    if num.count(i)>max:
        max=num.count(i)
        num3.clear()
        num3.append(i)
    elif num.count(i)==max:
        num3.append(i)
for i in num3:
    print(f"{i} {max}")
最後一筆測資是太大嗎,所以才TLE?
想問下有沒有方法讓我程式碼跑更快,還是一定要改用Counter才能過最後的測資?
 
#32410: Re: TLE(python)


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
b374. [福州19中]众数 | From: [39.9.78.197] | 發表日期 : 2022-10-08 14:01

n=int(input())
num=list(map(int,input().split()))
num.sort()
num2=[]
num3=[]
max=0
num2=list(set(num))
for i in num2:
    if num.count(i)>max:
        max=num.count(i)
        num3.clear()
        num3.append(i)
    elif num.count(i)==max:
        num3.append(i)
for i in num3:
    print(f"{i} {max}")
最後一筆測資是太大嗎,所以才TLE?
想問下有沒有方法讓我程式碼跑更快,還是一定要改用Counter才能過最後的測資?


你的作法太沒效率了,建議可以用一個list儲存1-30000的個數就好了

 
ZeroJudge Forum