204. 计数质数
给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。
1和2不是质数
class Solution {
public int countPrimes(int n) {
int ans = 0;
for (int i = 2; i < n; ++i) {
ans += isPrime(i) ? 1 : 0;
}
return ans;
}
public boolean isPrime(int x) {
for (int i = 2; i * i <= x; ++i) {
if (x % i == 0) {
return false;
}
}
return true;
}
}
单个数检查的时间复杂度为 O ( n ) O(\sqrt{n}) O(n)n个数字就是 O ( n n ) O(n\sqrt{n} ) O(nn)