链接
https://leetcode-cn.com/problems/count-primes/
耗时
解题:
题解:3 min
题意
统计所有小于非负整数 n 的质数的数量。
思路
欧拉筛。
时间复杂度: O ( n ) O(n) O(n)
AC代码
class Solution {
public:
int countPrimes(int n) {
vector<bool> isprime(n, true);
vector<int> prime;
for (int i = 2; i < n; ++i) {
if(isprime[i]) {
prime.push_back(i);
}
for (int j = 0; j < prime.size(); ++j) {
if (i * prime[j] >= n) break;
isprime[i * prime[j]] = false;
if(i % prime[j] == 0) break;
}
}
return prime.size();
}
};