【LeetCode 204】关关的刷题日记39 Count Primes
时间:2022-05-07
本文章向大家介绍【LeetCode 204】关关的刷题日记39 Count Primes,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
关关的刷题日记39–Leetcode 204. Count Primes
题目
Count the number of prime numbers less than a non-negative number, n.
题目的意思是让求小于n的素数的个数。
方法1:本来最简单的想法是遍历3到的数,都不是n的约数的就是素数,反之就是合数,结果超时了。后来师父给指点了下:如果一个数是合数的话,那么肯定有质因子,所以实际上我们只需要遍历3到 之间的素数就可以了。
class Solution {public:
int countPrimes(int n) {
if(n<3)
return 0;
int re=0;
vector<int>primes;
primes.push_back(2);
for(int i=3; i<n; i=i+2)
{
int flag=1;
for(int x:primes)
{
if(x*x>n)
break;
if(i%x==0)
{
flag=0;
break;
}
}
if(flag)
primes.push_back(i);
}
return primes.size();
}};
方法二:厄拉多塞筛法求素数。看了一下网上这一篇博客介绍得很好:http://blog.csdn.net/tsbyj/article/details/47254069,大家可以参考下。
class Solution {public:
int countPrimes(int n) {
if(n<3)
return 0;
int re=0;
vector<int>primes(n,1);
for(int i=2; i*i<n; ++i)
{
if(primes[i]==1)
{
for(int j=i; j*i<n; ++j)
{
primes[i*j]=0;
}
}
}
for(int x:primes)
{
re+=x;
}
return re-2;
}};
人生易老,唯有陪伴最长情,加油!
以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。
- 现在 tensorflow和mxnet 很火,是否还有必要学习 scikit-learn 等框架?
- ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
- 改进版CodeTimer及XCode性能测试
- 常见测试术语解析
- 秦俊:开放 DevOps 敏捷开发套件,助力开发者驰骋云端
- 开源组件NanUI一周年-使用HTML/CSS/JS来构建.Net Winform应用程序界面
- 邱寒:新零售笔记(四)基于区块链大数据的人工智能
- 腾讯云GAME-TECH沙龙干货回顾:网龙《英魂之刃口袋版》开发经验分享
- ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
- 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络AlexNet
- 黄荣奎:如何快速、便捷开发小程序
- 熊普江: BGP网络架构助力开发者快速构建、优化业务
- 唐良:云端架构给电商行业带来创新力
- 邹方明:看腾讯云如何架构海量存储系统
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 腾讯云语音识别v1签名算法详解
- MySQL案例:关于JSON的一个bug
- Confluence 如何查看页面树
- 聊聊claudb的pubsub command
- Nginx证书和Tomcat证书能相互转化吗,请看这里
- 你真的理解 Webpack?请回答下列问题
- docker浅入深出3
- 绘图代码|多组学数据可视化的高端玩法
- Java单元测试——Mock技术配置
- 简单的场景分析LinearLayout 源码
- 避免栽坑之掌握Jenkins工作原理
- 如何检测JavaScript中的死循环?
- vue插槽2.6.0+
- 聊聊claudb的transaction command
- Lombok 的作者,成功讨伐 IntelliJ IDEA!