摘要:记录所有算法相关知识。算法均已验证,可以直接运行。如有错误,谢谢指出。斐波那契数列两种实现方式每次都会再生成两个新的,时间复杂度不建议用这种。输出递归实现。注意要用,否则为零时也会判断成
记录所有算法相关知识。算法均已验证,可以直接运行。
如有错误,谢谢指出。
1.斐波那契数列两种实现方式
2.有5个人偷了一堆苹果,准备在第二天分赃。 晚上,有一人遛出来,把所有苹果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了。没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了1/5。第二天,大家分赃,也是分成5份多一个扔给猴了。最后一人分了一份。问:共有多少苹果?N 个人呢?
3.输出一组数组的全排列。 [1,2,3] 输出 [1,2,3] [1,3,2] [2,1,3] [2,3,1] [3,1,2] [3,2,1]
4.假设密码为六位数字构成,比如‘000231’ ‘345678’。但我们不知道传入的密码值,要求破解输出密码。
$password) { $right = $middle - 1; } else if ($middle < $password) { $left = $middle + 1; } else { $hack = $middle; break; } } //前边放0组成六位密码 $hack = str_pad($hack, 6, "0", STR_PAD_LEFT); return $hack; }5.看到过一篇数组一一对应的加密解密算法,又想到array_map这种可以传递callback的函数。所以试着重写加密解密函数.相似的函数还有array_filter, array_walk.这篇文章对array函数总结的很好
https://code.tutsplus.com/tut...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28546.html
摘要:二选择排序原理在一列数字中,选出最小数与第一个位置的数交换。至此确定了前两个位置上的数。示例代码选择排序实现思路双重循环完成,外层控制轮数,当前的最小值。 二、选择排序 原理: 在一列数字中,选出最小数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。(以下都是升序排列,即从小到大排列) 举例说明: $arr =...
摘要:算法原理下列动图来自五分钟学算法,演示了快速排序算法的原理和步骤。因此,快速排序的遍历次数最少是次。为什么最多是次这个应该非常简单,还是将快速排序看作一棵二叉树,它的深度最大是。 算法原理 下列动图来自@五分钟学算法,演示了快速排序算法的原理和步骤。 showImg(https://shockerli.net/media/15540242976690/quick.gif); 步骤: ...
摘要:二分查找的定义二分查找也称折半查找,它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。算法的要求从上面的定义我们可以知道,满足该算法的要求必须如下两点必须采用顺序存储结构。 showImg(https://segmentfault.com/img/remote/1460000016466416?w=800&h=191); 二分查找的...
阅读 2678·2023-04-25 20:28
阅读 1849·2021-11-22 09:34
阅读 3686·2021-09-26 10:20
阅读 1833·2021-09-22 16:05
阅读 3085·2021-09-09 09:32
阅读 2501·2021-08-31 09:40
阅读 2098·2019-08-30 13:56
阅读 3319·2019-08-29 17:01