LC 204. 计数质数 (opens new window) (opens new window)
中等
# 问题描述
给定整数 n
,返回所有小于非负整数 n
的质数的数量 。
示例 1:
输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
示例 2:
输入:n = 0
输出:0
示例 3:
输入:n = 1
输出:0
提示:
0 <= n <= 5 * 106
# 埃氏筛
/**
* @param {number} n
* @return {number}
*/
var countPrimes = function (n) {
const isPrimes = new Array(n).fill(true)
let ans = 0
for (let i = 2; i < n; i++) {
if (isPrimes[i]) {
ans++
for (let j = i * i; j < n; j += i) {
isPrimes[j] = false
}
}
}
return ans
}
- 时间复杂度:
- 空间复杂度:
上次更新: 2023/01/31 19:48:05
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 , 转载请注明出处!