文章分类 -  算法(In Java)

递归
摘要:n的阶乘 x的非负整数n次幂 排列的生成 正整数划分 阅读全文
posted @ 2019-04-06 14:19 会飞的金鱼 阅读(109) 评论(0) 推荐(0)
检索算法
摘要:在n个元素的数组中,检索元素x。 线性检索算法 二分查找算法 阅读全文
posted @ 2019-04-05 16:08 会飞的金鱼 阅读(142) 评论(0) 推荐(0)
约瑟夫问题
摘要:有n个人围成一圈做游戏,编号为1,2...n,让第每个人开始报数,报到第k个数的那个人出队,出队的下一个人继续报数,报到第k个数的人再出队。以此类推,求出最后一个出队的人。 阅读全文
posted @ 2019-04-04 21:08 会飞的金鱼 阅读(92) 评论(0) 推荐(0)
汉诺塔
摘要:有三个柱子,原始装满大小不一的盘子的柱子称为A,还有两根空的柱子,分别为B和C。一次只能移动一个盘子,小的盘子只能能在大的盘子上面。最终将A柱子上的盘子全部移到C柱子中 分成3步: 1,把n-1号盘子移动到中转柱子 2,把大盘子从起点移到目标柱子 3,把中转柱子的n-1号也移到目标柱子 代码实现: 阅读全文
posted @ 2019-04-01 21:58 会飞的金鱼 阅读(109) 评论(0) 推荐(0)
罗马数字倒转成阿拉伯数字
摘要:VI=>6,IV=4 左边的数比右边的大,则是右边的数加上左边的; 左边的数比右边的小,则是右边的数减去左边的。 总结: 1)先找到罗马数字最大的那个数字, 2)要是左边的数比右边小,则是用右边的数减去左边的 3)要是左边的数比右边大,则是用右边的数加上左边的 4)重复前面的步骤 阅读全文
posted @ 2019-03-30 13:20 会飞的金鱼 阅读(351) 评论(0) 推荐(0)
判断两个字符串所含字母是否完全一样
摘要:给定两个字符串s和t,判断这两个字符串中的字母是不是完全一样(顺序可以不一样)。 遍历这两个字符串,用每个字符减去'a',将其分别存入到数组中去,随后看这两个数组是否相等。 阅读全文
posted @ 2019-03-29 20:03 会飞的金鱼 阅读(596) 评论(0) 推荐(0)
n的阶乘
摘要:1,求n!的末尾0的个数,如5!=120,0的个数为1。 首先想到的是直接计算出n!的结果,然后再对结果进行求余和求整,最后得到想要的结果。但是假设n是一个足够大的数,那么n!的结果也是一个无限大的数。这样就超出int的范围,甚至long的范围。当n足够大时,此方法无效。 如果n!=k*10M,(0 阅读全文
posted @ 2019-03-19 19:55 会飞的金鱼 阅读(351) 评论(0) 推荐(0)
八皇后问题
摘要:由于8个皇后的任意两个不能处在同一行,那么肯定是每一个皇后占据一行。定义一个数组columnIndex[8],数组中第i个数字表示位于第i行的皇后的列号。先把数组columnIndex的8个数字分别用0~7初始化,接下来就是对数组columnIndex做全排列。因为用不同的数字初始化数组,所以任意两 阅读全文
posted @ 2018-11-13 21:22 会飞的金鱼 阅读(84) 评论(0) 推荐(0)
洗牌算法
摘要:洗牌算法就是给你一个1到n的序列,让你随机打乱,保证每个数出现在任意位置的概率相同,也就是n!个的排列中,每一个排列出现的概率相同。 最常用的方法,每次随机选出一个没有被选过的数放到一个队列中,如果随机出来的数已经被选过,那么继续随机直到遇到一个没有被选过的数放入到队列中;重复这样的操作直到所有的数 阅读全文
posted @ 2018-07-08 21:33 会飞的金鱼 阅读(229) 评论(0) 推荐(0)
老鼠试毒
摘要:3只老鼠确定8个瓶子(只有一个瓶子中药水有毒)哪瓶药水有毒。 其实将8个瓶子用二进制表示,将每个bit位上为1的混合之后,这样就有三份药水,分别给3只老师吃。 其中二进制位为1的地方表示哪只老鼠吃哪瓶药。即: 老鼠1喝4,5,6,7号的药; 老鼠2喝2,3,6,7号的药; 老鼠3喝1,3,5,7号的 阅读全文
posted @ 2018-06-26 17:22 会飞的金鱼 阅读(424) 评论(0) 推荐(0)
吸血鬼数字
摘要:吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各报刊乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的。 例如: 1260=21*60; 1827=21*87; 2187=27*81; 写一个程序,找出4位数的所有吸血鬼数字。 三种方法 阅读全文
posted @ 2018-05-25 15:38 会飞的金鱼 阅读(261) 评论(0) 推荐(0)
不使用Math.sqrt()实现求平方根
摘要:利用牛顿迭代法来求平方根。 设r是 的根,选取 作为r的初始近似值,过点 做曲线 的切线L,L的方程为 ,求出L与x轴交点的横坐标 ,称x1为r的一次近似值。过点 做曲线 的切线,并求该切线与x轴交点的横坐标 ,称 为r的二次近似值。重复以上过程,得r的近似值序列,其中, 称为r的 次近似值,上式称 阅读全文
posted @ 2018-05-16 20:58 会飞的金鱼 阅读(1129) 评论(0) 推荐(0)
质素(Prime Number)
摘要:质数(Prime Number),也称素数。是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。 对于自然数n,如果用2到 之间所有的整数去除,均无法整除,则n为质数。 求1-1000以内的所有素数 阅读全文
posted @ 2018-04-27 11:36 会飞的金鱼 阅读(1024) 评论(0) 推荐(0)