问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

LeetCode-计数质数

发布网友 发布时间:2024-10-01 12:15

我来回答

1个回答

热心网友 时间:2024-10-26 12:58

算法记录

LeetCode 题目:

?&emsp;&emsp;给定整数?n?,返回所有小于非负整数?n?的质数的数量。 <hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

说明一、题目输入: n = 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。二、分析

题目我感觉是有点儿问题的,他应该想表达的意思是求取小于给定数的所有质数的数量,并且是正整数。

我们很容易就能想到使用遍历枚举的方式进行输出,但是这样的时间复杂度过高,不太可取。

因此我们换一个思维来看题,如果我们现在拿到了一个质数,那么所有大于当前质数且存在倍数关系的数据都不是质数,下次计算到的时候就不用再判断了。

利用这样的思想就可以使用一个数组来进行标记,只要当前的标志为空,那么就是一个质数,并且要将所有的当前数的倍数给进行标记。

中间为了避免重复计算,只要一个数是已有质数的一个倍数就可以不用往后标记了,因为同一个数可能与多个质数保持倍数关系。

这种方法也有一个学名,叫做线性筛。

class Solution {public int countPrimes(int n) {List<Integer> ret = new ArrayList();int[] flag = new int[n];for(int i = 2; i < n; i++) {if(flag[i] == 0) {ret.add(i);}for(int j = 0; j < ret.size() && i * ret.get(j) < n; j++) {flag[i * ret.get(j)] = 1;if(i % ret.get(j) == 0) break;}}return ret.size();}}

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

总结

大量数据计算下的剪枝操作。

原文:https://juejin.cn/post/7100021807926738981
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
嘉容的意思是什么 look!the girl is walking __the road.A,crossB,across!crossing D... 美甲打磨头坏了怎么修 美甲打磨机用了不合适的打磨头会怎么样 卸美甲用什么打磨比较好? 美甲钨钢打磨头和陶瓷打磨头哪个更容易起热呢?这两种打磨头有哪些区别呢... 美甲打磨机到底怎么用 自来水管里流出蓝色的水是怎么回事? 最近有啥动漫好看的 推荐一下最近3年好看的动漫。。。 LeetCode-轮转数组 LeetCode-解码方法 嫁娶周堂值是什么意思,嫁娶周堂图妇是什么意思 驾照实习期内在高速公路上出现交通事故保险公司是规定不能赔偿的吗? 联想S5和荣耀畅玩7C哪个配置更高? 男生裤子180尺码,就3234343536这个码,一般是多少? ...海贼、死神、家教、龙珠、妖精的尾巴什么的就别了)要一季在26集左右... 妖精的尾巴 谁的最佳搭档是露西? 有关环保的作文600字左右 还要有感受 好词、好句要多点 还要有题目... ...丰田十大忠告呢,我刚刚才买了一个二手车雷凌丰田啊? 手机录音文件在哪个目录里面 在火葬场大树下面拾了块石头,石头上刻着字~是什么意思 陕西西安那里有学吉他的地方 今天在路边一个大树根部挖出个黑黑的石头,不知道是什么石头? 请问一下西安哪里有比较好的学吉他的地方? 想去学吉他,西安的,咨询一下,天堂鸟和绿洲哪一个好一点。 想学吉他,在西安,有什么好推荐的? 风光370下坡行驶中刹车突然失效,重启动后恢复正常,不知道是哪里的故障和... 东风手动变速箱异响原因是什么? pychar怎么用django(pychamr) 济南电视台都市女性频道简介 她们网频道栏目 Cocoren时尚网生活情感 ZTV7什么频道 我想问一下笔记本电脑桌面不可以显示怎么回事? 关于做iso体系认证的机构有排名吗? 大文件怎么传送? 我是专科学校工程造价专业的,据说这个专业出来将来很难找到工作的对吗... ...了什么都没有教,想问哈如果我报考夜大的工程造价有木有前途 谢谢... 如何更换灭火器的干粉? 工商银行代理mAu(T D)保证金比例是多少? 移动套餐内包含的业务如何取消 东营科技职业学院官网是什么 东营翰林职业学校实训设施 东营市高级技工学校学校简介 高等院校教师资格证该怎么考?要准备什么 怎样修改CAD布局视口显示图放大缩小 梦见出好多人送包 温州南站到长沙南有多少公里,温州到长沙组团旅游路线 下列加点的成语使用正确的一项是 A.梵蒂冈西斯廷教堂内米开朗基罗的著名...