Description
Given an integer n
, return the number of prime numbers that are strictly less than n
.
Example 1:
Input: n = 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.
Example 2:
Input: n = 0
Output: 0
Example 3:
Input: n = 1
Output: 0
Constraints:
Solution
count-primes.pyclass Solution:
def countPrimes(self, n: int) -> int:
if n <= 1: return 0
arr = [True] * n
arr[0] = arr[1] = False
for i in range(2, n):
if arr[i]:
for j in range(i * i, n, i):
arr[j] = False
return sum(arr)
count-primes.cppclass Solution {
public:
int countPrimes(int n) {
vector<bool> arr(n, false);
int count = 0;
if (n <=2){
return 0;
}
for (int i = 2; i < n; i++){
if (!arr[i]){
count++;
for (int j = 2; i*j<=n; j++)
arr[i*j] = true;
}
}
return count;
}
};