您的位置:首页 > 其它

LeetCode Count Primes

2015-08-03 02:57 405 查看
原题链接在这里:https://leetcode.com/problems/count-primes/

题目:

Description:

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

题解:

网上查查,原来有一种方法叫:Sieve of Eratosthenes 的方法。时间复杂度为O(nloglogn),空间复杂度为O(n).

AC Java:

public class Solution {
public int countPrimes(int n) {
if(n < 3){
return 0;
}
boolean [] isPrime = new boolean
;
Arrays.fill(isPrime, true);
int res = n-2;
for(int i = 2; i*i<n; i++){
if(isPrime[i]){
for(int j = i; i*j<n; j++){
if(isPrime[i*j]){
isPrime[i*j] = false;
res--;
}
}
}
}
return res;
}
}


跟上Perfect Squares
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: