- 博客(41)
- 收藏
- 关注
原创 linux中root无法修改文件是因为加了i属性
去除i属性:chattr -i /etc/sysctl.conf添加i属性:chattr +i /etc/sysctl.conf
2020-09-18 11:34:10 660
原创 虚拟机centOs7.X设置固定ip
步骤1:确定自己的虚拟机网络处于nat模式步骤2:点击菜单栏编辑->虚拟网络编辑器步骤3:点击NAT设置步骤4:点击确定之后设置虚拟机的网卡IP步骤5:这样填就可以了步骤6:打开虚拟机,编辑这个文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33这样配置好重启服务:service network restart然后ip addr看到自己地址改了,并且ping得通百度。...
2020-07-09 10:46:02 228
原创 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 649
原创 docker容器内时区和宿主机时区不一致
刚开始还以为是hyperf设置的问题,后来进入容器内执行date发现是容器内时区不对,后来上网查资料发现是容器启动的时候没有指定指定时区,所以默认是慢了八个小时;退出容器,然后执行docker cp /etc/localtime 容器id:/etc/localtime然后再docker restart 容器id即可生效...
2020-06-12 10:39:46 757
原创 docker安装elasticsearch遇到的坑
1..docker run -d -p 9200:9200 -p 9300:9300 -e --name="my-elasticsearch" elasticsearch:6.4.0这种方式直接运行的es,如果像我这样的穷逼内存只有1g的机器,因为es默认是2g的启动内存,服务器就会直接阻塞io卡死,所以要指定内存:docker run -d -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" --name="my-el
2020-06-11 16:00:37 799
原创 docker的网络模式
docker网络模式:host模式(--net=host) container模式 none模式(--net=none) bridge模式(--net=bridge)
2020-06-09 14:21:22 170
原创 用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 617
原创 利用docker快速搭建consul集群网
如果不用虚拟机,一台物理机只能搭建一个server或者client,利用docker,可以快速搭建一个consul集群。1.docker拉群consul的镜像#docker pull consul2.用一个文件夹用来后面映射到docker中#mkdir -p /data/consul3.使用docker来搭建server#docker run -d -p 8500:8500 -v /data/consul:/consul/data -e CONSUL_BIND_INTERFACE='
2020-05-14 23:30:56 242
原创 阿里云centos解决设置了安全组端口还是没有打开的问题
#添加你要的端口firewall-cmd --zone=public --add-port=8800/tcp --permanent//重载firewall-cmd --reload//查看端口有没有生效firewall-cmd --zone=public --list-ports
2020-05-14 23:00:43 916
原创 docker上传镜像的步骤
1.我们可以使用 docker build 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令,新建一个目录和一个 Dockerfile2.Dockerfile 中每一条指令都创建镜像的一层,例如:Dockerfile 基本的语法是:使用 # 来注释:FROM指令告诉 Docker 使用哪个镜像作为基础,接着是维护者的信息,RUN开头的指令会在创建中运行,比如安装一个软件包。3.然后执行docker image build -t="ou...
2020-05-09 17:37:42 1406
原创 tcp的三个函数,listen,connect,accept
connect:客服端告诉服务端我要进行tcp链接第一个函数,成果返回1,失败返回0。listen:非阻塞函数,将套接字与套接字的序列长度告诉系统内核。accept:从处于established 状态的队列中取出完成的连接。流程:1.服务器调用listen进行监听,客户端调用connect来发送syn报文。2.连接建立后,往listen队列中添加一个成功的连接,直到队列的最大长...
2020-04-21 11:42:28 696
原创 堆和栈的区别
1.空间分配:栈:由操作系统自动分配操作,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。堆:一般由程序员分配释放,如果程序员不释放,则程序结束时可能由GC机制回收,操作方式类似于链表。2.缓存分类的区别:栈:一级缓存,需要被调用的时候处于存储空间中,调用完毕后立即释放。堆:二级缓存,生命周期要根据垃圾回收机制周期来决定。3.数据结构区别:栈:一种先进后...
2020-04-20 20:55:08 109
原创 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 182
原创 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 229
原创 linux下安装pip
下载文件 wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate 执行安装 python get-pip.py 前提已安装py
2017-12-22 16:37:52 488
原创 网易笔试题--跳石板
小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3....... 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4
2017-11-01 16:30:43 394
转载 美图笔试题;浏览器访问XXX.com的时候发生了什么过程
1.当一个浏览器是第一次访问一个网站的时候,它首先会去找本地的host文件,看一下能不能找到相对应的ip,如果有,大吉大利晚上吃鸡,如果没有,也不用担心,因为它还会向我们本地的dns查找对应的ip,查找不了就会往更高级的dns查找,实在找不了说明域名解析出错了。2.当它获取到IP以后,浏览器就很高兴得与服务端建立tcp连接了。在TCP协议中,建立TCP需要与服务器握手三次,你先告诉服务器你
2017-10-12 20:26:59 842
原创 连续最大和
题目描述一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3解题思路:看起来这道题挺复杂的,比如最大和中间有个负数怎么办?怎么判断中间有个负数呢?其实不用判断,将所有数累加在一起,每次累加的时候记录本次累加值,跟上一次比较取最大者,当遇到本次累加记录小于0的时候,发现对以后的序列有没用了,于是重置0。
2017-09-18 18:09:13 424
原创 暗黑的字符串
题目描述一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串你的任
2017-09-18 09:52:22 478
原创 算法--回文序列
题目描述如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和
2017-09-17 21:26:47 617
原创 算法题--数字游戏
题目描述小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个
2017-09-17 18:03:01 542
原创 网易算法题--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 371
原创 算法题--小易喜欢的单词
题目描述小易喜欢的单词具有以下特性:1.单词每个字母都是大写字母2.单词没有连续相等的字母3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。例如:小易不喜欢"ABBA",因为这里有两个连续的'B'小易不喜欢"THETXH",因为这里包含子序列"THTH"小易不喜欢"ABACADA",因为这里包含子序列"AAAA
2017-09-17 16:58:56 451
原创 算法题--两种排序方法
题目描述考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:"car" 2.根据字符串的长度排序。例如:"car" 考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。<?php$handler = fopen('php://stdin',
2017-09-17 12:51:07 503
原创 解救小易
题目描述有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。<?p
2017-09-16 21:26:00 307
原创 计算题--不要二
题目描述二货小易有一个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 341
原创 幸运的袋子
题目描述一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你编
2017-09-16 16:24:20 263
原创 藏宝图
题目描述牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。$s = 'oxoxoxox';$t = 'o
2017-09-16 10:43:38 643
原创 星际穿越
题目描述航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x2程度的损耗,如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。问一艘耐久度为 h 的飞行器,假设在飞行过程中不产生损耗,那么为了保证其可以安全的到达目的地,只考虑整数解,至多发射过程中可以承受多少程度的
2017-09-16 10:23:00 268
原创 机器人的运动范围
题目描述地上有一个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 261
原创 数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解题思路:发现不论怎么样至多都需要O(n)的时间复杂度,所以相处一个最节省空间的办法,最节省空间的办法
2017-09-15 18:20:46 198
原创 把字符串转换成整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0function StrToInt($str){ $len = strlen($str); if ($len<=0) { return 0; } $s = 1; $f= $str[0]; $res
2017-09-15 17:54:12 244
原创 不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。<?phpfunction Add($num1, $num2){ //^表示两位二进制数不带进位的相加 //a&b<<1表示两位二进制相加的进位 //判断的条件是二进制相加进位为0时 while ($num2 != 0) { $tem
2017-09-15 17:25:25 190
原创 孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去
2017-09-15 16:18:37 210
原创 把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路把字符串组装成数组,然后数组自己定义规则排序;function PrintMinNumber($numbers){ usort($numbers,'mysort');
2017-09-14 22:24:42 205
原创 和为S的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!<?phpfunction
2017-09-14 17:02:34 237
原创 顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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 205
原创 算法题--合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。function Merge($pHead1, $pHead2){ if($pHead1 == NULL) return $pHead2; if($pHead2 == NULL) return $pHead1; $re = new ListNode();
2017-09-14 12:05:40 424
原创 链表中倒数第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 205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人