1324. Count Primes

描述

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

您在真实的面试中是否遇到过这个题?  

和第792题思路相同

class Solution {
public:
    /**
     * @param n: a integer
     * @return: return a integer
     */
    int countPrimes(int n) {
        // write your code here
        int count = n-1;    
        bool *flag = new bool[n];    
        for (int i = 0; i < n; ++i) flag[i] = true;    
    
        for (int i = 2; i <= sqrt(n); ++i)    
        {    
            for (int j = i * i; j < n; j += i)    
            {    
                if (true == flag[j])    
                {    
                    flag[j] = false;    
                    --count;    
                }    
            }    
        }       
            
        delete flag;    
        flag = nullptr;    
    
        return count - 1;      
    }
};

猜你喜欢

转载自blog.csdn.net/vestlee/article/details/80719908