class Solution:#求小于n的质数个数
def countPrimes(self, n: int) -> int:
if n<=2:
return 0
elif n==3:
return 1
else:
k=''
a=[1]*n#忽略a[0],且1不算素数,答案-2
for i in range(2,int((n-1)**0.5)+2):
s=i
tmp=2
while s<=n-1:
s=i*tmp
if s<=len(a)-1:
a[s]=0
tmp+=1
return a.count(1)-2#答案-2
请问怎么改进才能不超时!QAQ