题目:给定整数 n
,返回 所有小于非负整数 n
的质数的数量 。
注意:0 <= n <= 5 * 106
class Solution {
public int countPrimes(int n) {
boolean[] isPrime = new boolean[n];
for(int i=2;i*i<n;i++){
if(!isPrime[i]){
for(int j=i*i;j<n;j+=i) isPrime[j]=true;
}
}
int cnt=0;
for(int i=2;i<n;i++){
if(!isPrime[i]) cnt++;
}
return cnt;
}
}