LeetCode - Count Primes
判断小于n数中素数的个数,如果用普通的判断方法会超时,这里使用筛选法。
具体请参考:http://blog.csdn.net/liukehua123/article/details/5482854
public class Solution {
public int countPrimes(int n) {
if(n <= 2)
return 0;
int count = 0;
boolean[] prime = new boolean[n+1];
for(int i=1; i<n+1; i++) {
if(i % 2 == 0) {
prime[i] = false;
}
else {
prime[i] = true;
}
}
for(int i=3; i<=Math.sqrt(n); i++) {
if(prime[i]) {
for(int j=2*i; j<n; j+=i) {
prime[j] = false;
}
}
}
for(int i=1; i<n; i++) {
if(prime[i]) {
count++;
}
}
return count;
}
}
作者:Pickle
声明:对于转载分享我是没有意见的,出于对博客园社区和作者的尊重一定要保留原文地址哈。
致读者:坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。








浙公网安备 33010602011771号