【每日一题】【埃氏筛】204. 计数质数

 

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

 

class Solution:
    def countPrimes(self, n: int) -> int:
        # 埃氏筛:时间复杂度:O(nloglogn)。
        # 质数标记为0。1不是质数
        isPrime  = [0] * n
        ans = 0
        for i in range(2, n):
            if isPrime [i] == 0:
                ans += 1
                if i*i < n:
                    for j in range(i * i, n, i):
                        isPrime[j] = 1
        return ans

 

posted @ 2024-11-22 23:05  xiaoxinlong  阅读(1)  评论(0编辑  收藏  举报