基础算法
lukamao
这个作者很懒,什么都没留下…
展开
-
辗转相除法(欧几里得算法)求最大公因数
我们在刚接触编程的时候,遇到求最大公因数的题,往往会选择从n-1开始用循环枚举的方法来找出能被它整除的最大的数,这种算法虽然操作简便易于理解,但时间复杂度是O(n)级别的遇到要求严格的题,可能会时间超限。下面我们来介绍一种优秀的求最大公因数的方法——辗转相除法辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再...原创 2018-12-04 14:02:23 · 5808 阅读 · 0 评论 -
分解质因数算法
1.引例博主为双非学校计算机专业的小菜鸡一枚,目前在备战蓝桥杯的省赛,在蓝桥杯的官网上刷题,被如下一道题难住,后来百度了一下,原来这个题考的是分解质因数的算法,只需要将n的所有质因数,找出来,然后将素因子相乘,因为题目要求每个素因子的次数不大于1,因此乘过的就不用再乘了,最后的结果即为所求。当然我今天不是来讲题的,下面我们来看看这个分解质因数的算法。2.定义每个合数都可以写成几个质数相...原创 2019-03-09 10:37:33 · 26714 阅读 · 9 评论 -
埃氏筛选法
1.引例博主第一次见到这个算法是在两个周以前,2.定义埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。3.分析思想:假设全部数均为素数,再通过剔除掉所有合数,剩下的数肯定为素数;数学原理:任何正整数(除1外),所有正整数均能分解为素数的乘积。用途...原创 2019-03-09 19:01:51 · 3373 阅读 · 3 评论 -
LeetCode周赛——拼写单词
博主这半年来一直在主要学习Java的有关知识,疏忽了对算法的训练,偶得一著名刷题网站LeetCode,出于对算法的热爱,便决定开始刷题一段时间,加上前几天给我推送了周赛的消息,便报了名。为了巩固Java的知识,便选择了用Java语言来coding。虽然开始前的紧张中带着几分的憧憬,但是打开第一题便目瞪口呆,有题云:给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) cha...原创 2019-08-18 21:03:24 · 518 阅读 · 0 评论