https://blog.csdn.net/codename_cys/article/details/139565937

csdn推荐

你可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来解决LeetCode 204题,计数质数问题。下面是使用Python的实现示例代码:```pythonclass Solution:def countPrimes(self, n: int) -> int:if n < 2:return 0# 初始标记数组,默认所有数都是质数is_prime = [1] * nis_prime[0] = is_prime[1] = 0# 埃氏筛法for i in range(2, int(n ** 0.5) + 1):if is_prime[i]:# 将i的倍数标记为合数is_prime[i*i:n:i] = [0] * len(is_prime[i*i:n:i])# 统计质数的个数return sum(is_prime)```这段代码中,我们首先初始化一个长度为n的标记数组is_prime,用于表示每个数字是否为质数(1表示质数,0表示合数)。然后从2开始遍历到根号n,对于每个质数i,将其所有的倍数标记为合数。最后,统计标记数组中值为1的个数,即为质数的个数。你可以将以上代码复制到LeetCode上进行测试。希望能对你有所帮助!

文章来源:https://blog.csdn.net/codename_cys/article/details/139565937



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容