Count Primes 小于n的非负整数里边素数的个数

Description:

Count the number of prime numbers less than a non-negative number, n.

1不是素数,素数是指除了1和它本身之外没有其他的约数


/*public class Solution { //超时,时间复杂度超了
    public int countPrimes(int n) {
        int sum=0;
        for(int i=1;i             for(int j=2;j                 if(i%j!=0)  sum++;
        }
        return sum;
    }
}*/
 

public class Solution {
    public int countPrimes(int n) {
        int sum=0;
        boolean[] b=new boolean[n]; //boolean数组的默认值是false,判断的只有1到n-1的n-1个数,数组长度却设为n,数组下标为0到n-1
        for(int i=2;i*i=n就没了意义
                for(int j=i;j*i                        b[j*i]=true;
        }
        for(int i=2;i             if(!b[i])   sum++;
        }
        return sum;
    }
}

你可能感兴趣的:(leetcode)