美文网首页
2021-11-07 204. 计数质数【Medium】

2021-11-07 204. 计数质数【Medium】

作者: JackHCC | 来源:发表于2021-11-06 12:44 被阅读0次

    统计所有小于非负整数 n 的质数的数量。

    示例 1:

    输入:n = 10
    输出:4
    解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
    

    示例 2:

    输入:n = 0
    输出:0
    

    示例 3:

    输入:n = 1
    输出:0
    

    提示:

    0 <= n <= 5 * 10^6
    

    方法一:筛子法

    class Solution:
        def countPrimes(self, n: int) -> int:
            if n < 3: return 0
    
            f = [1]*n
            f[0] = f[1] = 0
            for i in range(2, round(sqrt(n)) + 1):
                if f[i] == 0: continue
                j = i*i
                while j < n:
                    f[j] = 0
                    j += i
            ans = f.count(1)
            return ans
    

    相关文章

      网友评论

          本文标题:2021-11-07 204. 计数质数【Medium】

          本文链接:https://www.haomeiwen.com/subject/oqhjzltx.html