Medium
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:
0 <= n <= 5 * 106
class Solution {
fun countPrimes(n: Int): Int {
val isprime = BooleanArray(n)
var count = 0
run {
var i = 2
while (i * i <= n) {
if (!isprime[i]) {
var j = i * 2
while (j < n) {
isprime[j] = true
j += i
}
}
i++
}
}
for (i in 2 until isprime.size) {
if (!isprime[i]) {
count++
}
}
return count
}
}