
PHP
lufeeBlog
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php对应java的AES/ECB/PKCS5Padding加密方法,通过bin2hex输出
<?phpnamespace Common\Help;class AesHelper{ /** * @param $key * @param $data * @return string * @author lf 2020/7/6 */ public static function encrypt($key, $data) { $size = mcrypt_get_block_size(MCRYPT_R.原创 2020-07-06 15:22:43 · 699 阅读 · 0 评论 -
用hyper实现rpc服务(基于consul)
其实直接是照搬了官网的demo,然后用的是docker安装consul的集群,发布服务的时候踩到了一个坑,那就是没安装hyperf/service-governance导致服务无法发布,后来安装之后服务发布到consul集群上了,如图:接着又踩到一个坑,发现service checks有一个问题,反正大概意思说9504端口没有打开。因为我的项目也是在docker上运行的,所以在防火墙上就打开了9504端口。#添加你要的端口firewall-cmd --zone=public --add.原创 2020-05-19 14:27:12 · 657 阅读 · 0 评论 -
php中类的self和static的区别以及self和$this->的区别
1.self和static的区别self和static都可以表示指向当前类,但static是php5.3版本之后才有的,强调的是延迟静态绑定,怎么实现延迟静态绑定呢?请看下面代码。<?phpclass a { public static function aa () { self::bb(); } protected static func...原创 2020-04-20 12:43:46 · 206 阅读 · 0 评论 -
php实现二叉树的创建以及前序/中序/后序遍历
<?php class TreeNode{ public $val = null; public $left = null; public $right = null; function __construct($value) { $this->val = $value; }}class BinaryTree...原创 2020-04-20 12:29:11 · 256 阅读 · 0 评论 -
解救小易
题目描述有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。<?p原创 2017-09-16 21:26:00 · 332 阅读 · 0 评论 -
算法题--两种排序方法
题目描述考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:"car" 2.根据字符串的长度排序。例如:"car" 考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。<?php$handler = fopen('php://stdin',原创 2017-09-17 12:51:07 · 534 阅读 · 0 评论 -
算法题--小易喜欢的单词
题目描述小易喜欢的单词具有以下特性:1.单词每个字母都是大写字母2.单词没有连续相等的字母3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。例如:小易不喜欢"ABBA",因为这里有两个连续的'B'小易不喜欢"THETXH",因为这里包含子序列"THTH"小易不喜欢"ABACADA",因为这里包含子序列"AAAA原创 2017-09-17 16:58:56 · 475 阅读 · 0 评论 -
网易算法题--Fibonacci数列
题目描述Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数原创 2017-09-17 17:15:36 · 397 阅读 · 0 评论 -
算法题--数字游戏
题目描述小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个原创 2017-09-17 18:03:01 · 570 阅读 · 0 评论 -
算法--回文序列
题目描述如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和原创 2017-09-17 21:26:47 · 658 阅读 · 0 评论 -
暗黑的字符串
题目描述一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串你的任原创 2017-09-18 09:52:22 · 504 阅读 · 0 评论 -
连续最大和
题目描述一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3解题思路:看起来这道题挺复杂的,比如最大和中间有个负数怎么办?怎么判断中间有个负数呢?其实不用判断,将所有数累加在一起,每次累加的时候记录本次累加值,跟上一次比较取最大者,当遇到本次累加记录小于0的时候,发现对以后的序列有没用了,于是重置0。原创 2017-09-18 18:09:13 · 456 阅读 · 0 评论 -
计算题--不要二
题目描述二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。<?php原创 2017-09-16 21:02:30 · 368 阅读 · 0 评论 -
幸运的袋子
题目描述一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你编原创 2017-09-16 16:24:20 · 285 阅读 · 0 评论 -
藏宝图
题目描述牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。$s = 'oxoxoxox';$t = 'o原创 2017-09-16 10:43:38 · 681 阅读 · 0 评论 -
链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。function FindKthToTail($head, $k){ if ($k == 0 || $head == NULL) { return NULL; } $pre = $head; $last = $head; while ($k>0) { $k--; i原创 2017-09-14 11:24:15 · 226 阅读 · 0 评论 -
算法题--合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。function Merge($pHead1, $pHead2){ if($pHead1 == NULL) return $pHead2; if($pHead2 == NULL) return $pHead1; $re = new ListNode();原创 2017-09-14 12:05:40 · 452 阅读 · 0 评论 -
顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:拿到数组取出第一行,然后逆时针反转数组,循环多次,直到数组为空function printMatr原创 2017-09-14 14:10:54 · 225 阅读 · 0 评论 -
和为S的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!<?phpfunction原创 2017-09-14 17:02:34 · 255 阅读 · 0 评论 -
把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路把字符串组装成数组,然后数组自己定义规则排序;function PrintMinNumber($numbers){ usort($numbers,'mysort');原创 2017-09-14 22:24:42 · 226 阅读 · 0 评论 -
孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去原创 2017-09-15 16:18:37 · 227 阅读 · 0 评论 -
不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。<?phpfunction Add($num1, $num2){ //^表示两位二进制数不带进位的相加 //a&b<<1表示两位二进制相加的进位 //判断的条件是二进制相加进位为0时 while ($num2 != 0) { $tem原创 2017-09-15 17:25:25 · 211 阅读 · 0 评论 -
把字符串转换成整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0function StrToInt($str){ $len = strlen($str); if ($len<=0) { return 0; } $s = 1; $f= $str[0]; $res原创 2017-09-15 17:54:12 · 273 阅读 · 0 评论 -
数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解题思路:发现不论怎么样至多都需要O(n)的时间复杂度,所以相处一个最节省空间的办法,最节省空间的办法原创 2017-09-15 18:20:46 · 224 阅读 · 0 评论 -
机器人的运动范围
题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?//本题采用动态规划//fl原创 2017-09-15 21:43:03 · 290 阅读 · 0 评论 -
星际穿越
题目描述航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x2程度的损耗,如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。问一艘耐久度为 h 的飞行器,假设在飞行过程中不产生损耗,那么为了保证其可以安全的到达目的地,只考虑整数解,至多发射过程中可以承受多少程度的原创 2017-09-16 10:23:00 · 291 阅读 · 0 评论 -
算法题--反转链表
题目描述输入一个链表,反转链表后,输出链表的所有元素。答案function ReverseList($pHead){ if ($pHead == null) return null; $list = null; while ($pHead != null) { $tem = $pHead -> next; $pHead -> next原创 2017-09-14 11:21:35 · 278 阅读 · 0 评论