LeetCode不定时刷题——Count Primes

Count Primes

Description:

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

Solution:

class Solution {
    public int countPrimes(int n) {
        if(n<3){
            return 0;
        }
        boolean[] notPrime=new boolean[n];
        int count=0;
        for(int i=2;i<n;i++){
            if(notPrime[i]==false){
                count++; 
            for(int j=2;i*j<n;j++){
                notPrime[i*j]=true;
                }
            }
            }
         return count;
            }
    }

这个是个很聪明的做法,利用动态规划,巧妙利用n前的质数,质数和任何数的乘积得到的数肯定不是质数,而没有通过乘积得到的就是质数

发布了173 篇原创文章 · 获赞 110 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_35564813/article/details/104723890