204. Count Primes
2016-03-24 16:15
387 查看
Description:
Count the number of prime numbers less than a non-negative number, n.
本以为是个求素数的大水题,想都没想直接写了下面代码,结果直接TLE。
于是写出下面代码然后顺利通过。
Count the number of prime numbers less than a non-negative number, n.
本以为是个求素数的大水题,想都没想直接写了下面代码,结果直接TLE。
class Solution { public: int countPrimes(int n) { if(n<2)return 0; int ans=0; for(int i=2;i<=n;i++){ bool fla=1; for(int j=2;j*j<=i;j++){ if(i%j==0){ fla=0; break; } } if(fla)ans++; } return ans; } };好吧,记得看过一个筛选法求素数的方法。查了下,它的时间复杂度为nloglogn,
于是写出下面代码然后顺利通过。
class Solution { public: int countPrimes(int n) { vector<bool> prim(n,true); for(int i=2;i<=sqrt(n);i++){ if(prim[i]){ for(int j=i*i;j<=n;j+=i){ prim[j]=false; } } } int ans=0; for(int i=2;i<n;i++){ if(prim[i])ans++; } return ans; } };
相关文章推荐
- 高性能网关设备及服务实践
- PHP操作SQLITE
- SVN的使用
- MongoDB 2.6.x 的安装部署
- C++中求类的大小
- ElasticSearch 2 (33) - 信息聚合系列之聚合过滤
- css3中的边框相关样式
- hive json数据生成和处理
- SQL的四种连接-左外连接、右外连接、内连接、全连接
- 每天一个linux命令(60):scp命令 【转】
- Neural Net 感悟 1
- 对象的访问定位
- .net 获得系统是32位还是64位的方法
- [leetcode]1 Two Sum
- 第12届浙江省大学生程序设计大赛 解题报告
- [Spark]Spark与Anaconda配置(Python)
- CCF201312真题及题解(能力有限,欢迎交流)
- Linux下SVN服务器的搭建
- 跨平台linux, windows, android系统识别
- 编程易错小结 (一)