题意:计算所有小于非负数整数 n 的质数数量。
分析:素数筛法
class Solution {
public int countPrimes(int n) {
boolean isPrime[]=new boolean[n];
for(int i=0;i<n;i++){
isPrime[i]=true;
}
for(int i=2;i*i<=n;i++){
if(isPrime[i]==false)continue;
for(int j=2;j*i<n;j++){
isPrime[i*j]=false;
}
}
int ans=0;
for(int i=2;i<n;i++){
if(isPrime[i]==true)ans++;
}
return ans;
}
}