算法
文章平均质量分 67
黑夜与黎明
规则的总结者
展开
-
LRU的实现
一个简单的LRU实现,清晰的实现思路。原创 2022-07-19 17:36:01 · 283 阅读 · 1 评论 -
redis源码--SDS结构解析
众所周知,redis使用的是SDS代替C字符串处理,其原因主要有三见下。目录1 特点2 SDS结构3 结构函数4 紧凑型头结构5 总结1 特点C语言特点:1 O(n)字符串长度访问复杂度。2 不能存储带\0的二进制字符串。3 内存访问碎片严重。SDS特点:1 O(1)字符串长度访问。2 自定义结构,封装自己字符串处理函数,能处理\0。3 预分配空间和惰性回收减少系统调用和内存碎片。2 SDS结构SDS存储数据还包含了元信息也就是原创 2022-04-22 12:02:16 · 1024 阅读 · 0 评论 -
TCP粘包切割处理
TCP粘包处理原创 2022-03-30 00:04:38 · 3811 阅读 · 0 评论 -
笛卡尔积递归
笛卡尔积3个JS版本版本一性能好些,版本二性能差些,版本三性能和版本1差不多版本一递归入参:array:当前的数组result:结果集递归结束条件:array长度为0function cartesian(array, result){ if(array.length === 0){ return [resul...原创 2019-07-28 18:13:05 · 619 阅读 · 0 评论 -
树节点查找
查找树的子节点$tree = [ 'id' => 0, 'name' => 'a', 'child' => [ [ 'id' => 1, 'name' => 'b', 'child' => [ ...原创 2019-03-24 18:03:22 · 1042 阅读 · 0 评论 -
开方函数手动实现
曾经面试让手动实现保留2位小数的函数,现在想来将其发出来(排版可能不好,因为csdn体验度本来就差)实现思想:利用二分法找整数,循环迭代找小数。例如:111开方,保留两位小数。(10+a)^2 = 111a^2 + 2 * 10 * a = 11a = 0.55 - a^2 / 20因为0<a<1-0.05<-a^2/2...原创 2019-03-17 15:02:22 · 1880 阅读 · 0 评论 -
收集3中目录创建方式
目录创建方式1:从尾到头,递归找到存在的目录位置,依次创建下一级目录。function CreateDir($dir){ if(dirname($dir) == $dir) return false; if(!is_dir($dir)){ if(!CreateDir(dirname($dir))){ ...原创 2018-07-13 00:26:10 · 138 阅读 · 0 评论 -
10进制转化为36进制
不多说,下面是代码,10进制转化为36进制。function getDex236($value){ static $arrMap = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']; $str = ''; if($va...原创 2018-05-29 21:51:26 · 6882 阅读 · 0 评论 -
求解数组中任意两个元素的和最接近某一个数
题意是这样的:求解一个数组中元素a和b,其和sum=a+b,sum最接近num的数两个。array是一个整型数组。其求解方式如下://求解数组中元素a和b,其和sum=a+b,sum最接近num的数两个。//求解思想是:对数组进行顺序排序,然后对数组中的每个数遍历每个数能求得一个最优值,然后对每对值大小sum与给出的这个数num做比较,找出绝对值相差最小的那个数。//以下程序是对以上的原创 2017-06-11 11:52:27 · 4426 阅读 · 0 评论 -
数字转中文汉字(php书写)
数字转换为汉字 前段时间,因为一个朋友提到了数字转化为汉字,开始我并不以为这有什么难度,但千一段时间想着自己动手写一下相关的算法,发现好像还是没那么容易,后来一下午过去了,试写了各种方式,但好像都不能很好地兼容,特别是0的处理。于是在网上搜索了一些资料,但好像并没能很好地解决这个0的问题,找了些相关代码见下。 class numberToChanise { p原创 2017-04-14 16:55:08 · 755 阅读 · 0 评论 -
获取完数
完数定义是:完数是该数的所有分解的因数(除了自己本身外)之和与该数相等。6 = 1 + 2 + 3; 28 = 1 + 2 + 4 + 7 + 14.改方式是先获取一个数所有约数(除自己本身外)。//获取约数function getPerfectNum($num){ $tmp = [1]; $end = $num; for($i=2; $i < $end;原创 2017-04-23 22:07:25 · 315 阅读 · 0 评论 -
获取A-B数字之间的质数
获取某个数之间的质数。function is_prNum($num){ $end = $num; for($i=2; $i< $end; $i++) { if($num % $i == 0) { return false; } else {原创 2017-04-22 19:35:18 · 320 阅读 · 0 评论 -
获取A-B数字之间的质数
获取某个数之间的质数原创 2022-03-29 16:37:11 · 708 阅读 · 0 评论