自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

投资自己

若抽不出时间来创造自己想要的生活,那么最终不得不花更多的时间来面对自己不想要的生活。

  • 博客(217)
  • 资源 (3)
  • 收藏
  • 关注

原创 2020 PHP 面试面经分享,历时三个月拿,最终入手字节,面试经历经验分享

这是一篇迟到的面经。为什么呢?因为我现在已经入职字节快一周了。本应该在提离职后,入职字节前的一段时间内,完成历时差不多 3 个月的面试经历。但是,emem..... 懒嘛 ……^ _ ^。写下这篇文章的目的,一方面是:整理面试知识、经验;另一方是:给同样准备找工作、跳槽的你,自己的一些经验。先自我介绍一下:本人双非、一个普通的二本本科生,大学期间很有幸加入 Topcoder 工作室,工作室有两部分:ACM 算法、项目。加入工作室后,由于对算法不怎么感兴趣,就选择去了项目组。项目组主要学习一些 We.

2020-11-07 16:14:36 3445 8

原创 go 归并排序

先将整个待排序数组分为一个个大小为 1 的子序列,然后再进行合并。合并时,就是对两个已经有序数组的合并做法。

2023-04-11 15:17:55 126

原创 day05 - PHP 实现 N 个村庄建立 M 个邮局,村庄距离邮局距离最短

思路已经理解了,但是代码部分还是有点问题,先记录到这里class Solution { /** * @param Integer[] $nums * @return Integer */ function maxSubArray($nums) { // 从第 i 个村庄到 j 个村庄建立一个邮局 // dis[i][j] = dis[i][j-1] + a[j] - a[(i+j)/2]; $size.

2020-10-05 10:13:27 529

原创 day01 --- PHP实现 n*n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素

378. 有序矩阵中第K小的元素第一次双百:二分查找思路:1. 从矩阵的左下角开始遍历元素,矩阵中当不大于 mid 的数大于等于 k 时,说明目标值一定在左半边范围内2. 否则在右半边范围内3. 从矩阵左上角最小值,右下角最大值,确定 mid 值代码如下:function kthSmallest($matrix, $k) { $n = count($matrix); $min = $matrix[0][0]; $max = $matrix[$n-1][$

2020-10-01 19:19:52 654

原创 PHP 实现对正整数数组元素拼接后值最大

思路:跟普通的排序算法不同的是,排序的规则的调整。需要拼接两个字符串并比较大小。将拼接后的大的结果放到前面。function findTheMax($arr){ $size = count($arr); if ($size <= 1) { return $arr; } $mid = ceil(($size - 1) / 2); $left = array_slice($arr, 0, $mid); $right = a..

2020-09-10 21:09:33 354

原创 php 实现链表的排序

leetcode 148: 排序一个无序链表说明:1. 通过快慢指针找到链表的中间位置,low 表示右边链表;2. 左边链表理解起来就比较费事了。左边链表:因为对象赋值是引用拷贝。所以,当 low 变化的时候,head 会记录变化,通过 low->next = null 终止变化,得到左链表。2. 然后再通过有序链表的合并完成排序/** * Definition for a singly-linked list. * class ListNode { * pub.

2020-09-01 22:34:39 372

原创 php 实现 2n 个无序的数,n 个奇数,n 个偶数,奇数在奇数位,偶数在偶数位--两种解法

2n 个无序的数,n 个奇数,n 个偶数,实现一个算法:奇数在奇数位,偶数在偶数位这个题,在面试的过程中,面试官提示我可以参考 链表的有环的方法,有环的判断是有两个指针,一个快 fast 指针,一个慢 slow 指针,设置步长相差一个。但是,但是,但是,我没有做出来。。。。下来后,参考了别人的解法:一个数组有2n个元素,其中有n个奇数、n个偶数,数组无序,写一个算法使得奇数位置放置奇数,偶数位置放置偶数。我自己手动实现了一下。代码入下:function revertTheNum($ar.

2020-08-28 20:53:31 411

原创 PHP 二叉搜索树的第 K 大

刚做这个题的时候,就一直想着怎么能不遍历整个树,而优化查询时间。最终还是没有实现这个想法。因为递归遍历二叉树,是会遍历所有的节点,无法控制。还有一点就是遍历的时候,如果用 --$k == 0 来作为取数条件的话,是有问题的,因为每次递归都重新传递 $k 值了下面这个代码 空间复杂度为 O(1),先遍历整个树后,拿到有序数组的话,时间复杂度为 O(n)。class Solution { /** * @param TreeNode $root * @param I..

2020-08-27 21:56:49 174

原创 PHP 的 laravel 导出 csv 时,在 Windows 的 Micr Office 中出现乱码解决办法总结

背景:一次使用 laravel 的 Excel Facades 时,测试同事发现在他的 Windows Micro Office Excel 中打开是乱码的,这是故事的开始。下面是我使用 Excel 的方法:$exportArr = [ ['1']];$top = ['test'];array_unshift($exportArr, $top);$fileName = 'xx';Excel::create($fileName, function($excel) use.

2020-08-20 23:00:52 663

原创 php 实现链表的反转--迭代和递归

1. 递归:思路说明请看 代码注释/** * Definition for a singly-linked list. * class ListNode { * public $val = 0; * public $next = null; * function __construct($val) { $this->val = $val; } * } */class Solution { /** * @param ListNode $h

2020-08-17 21:22:26 356

原创 PHP 实现旋转有序数组的查找 target

先贴代码,等有时间了,再来详细整理一下思路class Solution { /** * @param Integer[] $nums * @param Integer $target * @return Integer */ function search($nums, $target) { $low = 0; $size = count($nums); if ($size == 1) {

2020-08-12 23:29:22 242

原创 PHP 归并排序和合并两个有序数组

思路:有时间再整理把function dividArr($arr){ $size = count($arr); // 这一步很重要,否则可能死循环 if ($size < 2) { return $arr; } $mid = floor($size / 2); $leftArr = array_slice($arr, 0, $mid); $rightArr = array_slice($arr, $mid); return merge(dividArr($left

2020-08-12 12:59:11 262

原创 PHP实现二叉树列遍历 从根结点到叶子结点的遍历并 求和

/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($value) { $this->val = $value; } * } */class Solution { /** * @pa.

2020-08-10 21:25:42 386

原创 PHP实现常见的设计模式--观察者模式

// 事件注册器abstract class EventGenerator{ // 观察者 private $obversor = []; public function attach(Obversor $obversor) { $this->obversor[] = $obversor; } // 事件通知 public function notify() { foreach ($this->obversor as $obversor) { $obversor

2020-08-09 18:09:28 163

原创 php-fpm 平滑重启原理

关于PHP平滑启动可以参考 PHP 重启 php-fpm 的几种方法信号SIGINT、SIGTERM、SIGQUIT:退出Fpm,在master收到退出信号后将向所有的 worker 进程发送退出信号,通知 worker 退出,然后 master 退出SIGUSR1: 重新加载日志文件,生产环境中通常会根据时间对日志进行切割,切割后会生成一个新的日志文件,如果进程不重新加载文件,则无法继续写入日志,这时就需要向 master 发送一个 USR1 的信号,告诉 master 重新加载日志文件。.

2020-08-08 10:38:22 773

原创 PHP 最大连续子数组 最长回文子串

1. 数组最大连续子数组/** * 最大连续子数组 * **/$arr = [6,-3,-2,7,-17,1,7]; function consistArr($arr) { $tmp = $max = $arr[0]; $i = 1; $size = count($arr); while($i < $size) { if ($tmp > 0) { $tmp += $arr[$i]; } else { $tmp = $arr[$i];

2020-08-06 09:59:11 336

原创 mkw, 360大牛全面解读PHP面试资源下载

mkw, 大牛全面解读PHP面试资源下载最近在找工作,同事说上面的这个视频挺不错的。我就搜罗搜罗罗一下。看完之后的总结:这个视频适合高级工程师以下的PHPer 学习,当然无论哪个阶段看下,都会有一些进步和学习。需要资源的可以私信我请大家保密...

2020-08-02 23:14:39 384

原创 php 实现快速排序算法 PHP 无序数组求中位数

php 实现快速排序算法:第一种:1. 选取第一个元素为基数,分别从右(high)往左(high--)查找,找到一个比基数小的数,进行位置交换, 直到 low == high,结束一次排序;然后从 左 往右查找,找到一个比基数大的数,进行位置交换,直到 low == high,结束一次排序;最后将基数 放到 low 位置上。2. 此时的 low 值代表一次排序后 基数所在的数组下标位置。3. 通过递归进行 左右子数组排序,直到 low == high代码如下:$arr = [49,

2020-07-04 22:34:22 847

原创 go jwt 库 jwt-go token 生成验证说明

// 获取 token 的第三部分signaturesig := token.Signature// fmt.Println(sig)// 获取 header 和 payload 并进行baseurlencodesigning, _:= token.SigningString()// 通过verify对比signing 和 sigbool := token.Method.(...

2020-01-03 11:51:30 501

原创 es should查询--一个字段多个值的查询情况 相当于mysql中的in的操作,OR 和AND用法

在工作中,ES,遇到了一个字段多个值的查询情况。可以用should 和 terms。其中minimum_should_match 表示最小匹配项数量.可以参考这篇文章:elasticsearch查询api:terms query下面是尝试:在kibana中运行terms:{ "query": { "terms": { "subopt": [ ...

2019-08-15 20:27:53 9760

原创 php 解决leetcode 数据流中的第K大元素 php

原题链接:703. 数据流中的第K大元素本题主要可以用到最小堆。刚拿到这个题,有下面俩个思路:1、接受参数,设置类属性,方便add()方法调用。class KthLargest { /** * @param Integer $k * @param Integer[] $nums */ static $nums; ...

2019-07-06 10:58:11 422

原创 二叉树、满二叉树、完全二叉树、红黑树、二叉搜索树、平衡二叉树、B树、B+树--整理

本篇文章主要是整理一下 有关二叉树、满二叉树、完全二叉树、红黑树、二叉搜索树、平衡二叉树、B树、B+树的基础知识点。为了方便学习和今后的不断深入研究,现整理如下。如有存在问题的地方,欢迎指正。1、二叉树:本身是有序树;(默认)查看有序树中声明:注意:若不特别指明,一般讨论的树都是有序树。 树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2;二叉树有下面的性质:...

2019-06-29 09:53:49 868 1

原创 关于C中数组越界问题的解释

首先,我请你来分析一下这段C语言代码的运行结果:int main(int argc, char* argv[]){ int i = 0; int arr[3] = {0}; for(; i<=3; i++){ arr[i] = 0; printf("hello world\n"); } return 0;}...

2019-06-27 21:50:43 1223 3

原创 排序算法和查找算法--PHP代码实现方式

由于对这些算法的概念比较抵触,很难理解痛彻。但是我对代码还是很上手的,通过看代码,我就能清晰明了的知道原理和思想。1、归并排序:下面代码可以直接运行。摘抄自:常用的排序算法(四)--归并排序(PHP实现)。其中原文中,理论部分讲解有问题。思路:分治思想。选取中间值,进行分隔。分为左边数组和右边数组。递归的调用该方法,目的在于一直分隔数组,直到当前数组只有一个元素为止。时间复杂...

2019-06-27 00:00:22 269

原创 Go中单引号存在的问题 如何使用单引号?

在Go中单引号里的内容是属于int32型 (rune型)。但是单引号里只允许有一个字符。不知道为什么这样设计。package mainimport ( "fmt" "reflect") func main(){ x := '5' fmt.Printf("%s", reflect.TypeOf(x)) // int32 }单引号里单个字符是可以的。但是如果多个字...

2019-06-24 21:35:06 1842

原创 react-native run-iosCould not find iPhone 6 simulator 和 Entry, ":CFBundleIdentifier", Does Not Exist

一、在运行rn app应用时,react-native run:ios 报错出现Could not find iPhone 6 simulator解决办法: 1、react-native run-ios --simulator="iPhone 6",运行时指定启动版本 2 、Open file: 打开:node_modules/react-native...

2019-05-02 21:16:45 6427

原创 pom.xml 报错,<parent>红线 报错内容 :Project build error: Non-resolvable parent POM for com.shimh:blog-api:0.

从网上Non-resolvable parent POM for com.shimh:blog-api:0.0.1-SNAPSHOTpom.xml 报错,<parent>红线 报错内容 :Project build error: Non-resolvable parent POM for com.shimh:blog-api:0.0.1-SNAPSHOT: Could not tr...

2019-04-13 17:40:18 2168

原创 Using $this when not in object context 静态方法调用非静态属性和方法 出错 解决

Using $this when not in object context----出现这个报错是因为:静态方法内不能使用 $this, 静态属性和方法被创建时,可能还没有任何这个类的实例可以被调用,静态属性不需要实例化就可以直接使用,在类还没有创建时就可以直接使用;原因:由于静态方法在内存中只有一份,无论你调用多少次,都是共用的,而且没有对象的概念,所以不能在静态方法里面使用$thi...

2019-03-04 17:26:29 5126 1

原创 记录各种优秀干货网站--便于以后巩固和继续学习

1、关于硬连接和软连接的根本区别(从而引出操作系统innode节点的基础知识学习,从底层学习认识软硬连接)链接:Linux文件系统中的inode节点详细介绍     ---------------------------------------------------------------------------------更多干货网站,待更新...

2019-02-21 20:24:25 741

原创 Ngnix服务器是什么?架构及请求处理机制?如何实现高性能高并发服务器?

前言:以下是自己整理的关于ngnix服务器相关知识点。从一个请求由浏览器发出,域名解析(这部分下篇整理),到达指定服务器(这里用ngnix)。 Nginx:1、是一款免费的、开源的、高性能、模块化、轻量级的HTTP服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 1)Nginx启动后,会产生一个主进程,主进程执行一系列的工作后会产生一个或者多个工作进程;...

2019-01-13 12:03:17 713

原创 laravel 查询数据库时【分布式主从分离-读取数据使用主库读取数据方法】--写读数据库同步--解决主从数据同步延迟问题

场景:课程批量添加学生,在添加完后需要及时获取新增的学生,并展示出来。问题:1、当添加学生数低于10人时,能够正常显示数据           2、超过10人时,就不显示新增学生信息经过几次复现此问题,发现是主从数据库同步问题。主库新增数据,没有及时同步到从库中。此时解决为,直接读取主库,而拿到最新数据。经过谷歌百度,发现有如下方法可以执行1、由于使用的是 DB facade ...

2019-01-04 19:52:49 1440

原创 Linux--工作常用命令学习记录

1、sed -n '/14\/Nov\/2018:20:30:/,/14\/Nov\/2018:20:31/p' api.weclassroom.com.access.log-20181115 | grep '/class/replay/allow' | awk -F"|" '{sum+=$14*1000};END{print sum}'指定时间范围,在某文档里查询 并统计 每行以| 作为分隔...

2018-11-15 13:10:05 241

原创 bootstrap 多选按钮实现方式,js,jQuery删除数组中指定元素

bootstrap有许多,非常漂亮的设计,不用自己苦恼于css 的使用。bootstrap使用,实现多选方法:1、使用bootstrap的表格标签,表格内容为PHP返回前端数据,&lt;table class="table table-hover table-bordered"&gt; &lt;thead&gt; &lt;tr&gt;...

2018-11-09 17:03:13 753

原创 每周工作总结-记录总结自己遇到问题及学习内容,及时分析,找到不足,让自己不断进步

2018-10-29   2018-11-02 总结: 周一:1、git reset  和 git revert 在使用时区别,避免自己在开发中,未在指定分支开发提交代码,并推到远程,导致再合并分支后,推到远端出现不一致问题。刚开始,出现问题后是使用git push -f 解决,导致其他伙伴开发代码丢失。还有就是本地开发完成推到远端时,没有先拉取远程新的分支内容,同出现本地和远端不一致问题,一...

2018-11-01 15:25:38 1784

转载 PHP 底层的运行机制与原理解析(转载)

我的另一篇文章:PHP底层工作原理  两篇结合起来看,会更加好理解。由于本人数据结构方面知识,浅薄,后面的尚未研究关于 hash table ,这有个文章可以学习:HashTable原理和底层实现关于 zval 可以研读这个:入理解PHP7内核之zval  PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web...

2018-10-31 16:23:02 390

原创 phpstudy 提示安装VC9 VC14等,MySQL启动失败红色小点点,解决办法。PHP VC版本下载集合

phpStudy启动失败时的解决方法 提示缺vc9运行库php5.3、5.4和apache都是用vc9编译,电脑必须安装vc9运行库才能运行。php5.5、5.6是vc11编译,如用php5.5、5.6必须安装vc11运行库。php7.0、7.1是vc14编译,如用php7.0、7.1必须安装vc14运行库。 vc9-vc14(32+64位)运行库合集(链接在下方) ...

2018-09-19 14:49:35 2921 2

原创 crontab 定时执行命令,参数解释,如何结合PHP artisan执行,crontab -e -l等 分 时 日 月 周 commands

请认真阅读下面文字:crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。    每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的在crontab文件中如何输入需要执行的命令和时间。该文...

2018-09-11 14:56:31 1168

原创 阿里云 云数据库 RDS 版 公共请求参数 签名结果串 Signature PHP生成方法,亲测实例可用 PHP签名生成

首先看下阿里的签名机制:签名机制,好吧,太多太乱的。不过慢慢看,还是能看懂。PHP,编写的代码:function getSignature($data = []){ $key = env('AKI', '');//这里是阿里云的accesskeyid 和accesskeysecret $secret = env('AKS', '');//这是请求api 的公共请求参数...

2018-09-10 19:26:25 2044

原创 vim使用、工作中常见vim 使用命令总结

vi下的查找/pattern&lt;Enter&gt; :向下查找pattern匹配字符串?pattern&lt;Enter&gt;:向上查找pattern匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找• 空格键 :向下翻动一页;• [pagedown]:向下翻动一页;• [pageup] :向上翻动一页;vim 自定...

2018-08-23 14:57:14 659

原创 Git工作中用到的--常用命令,不断更新

声明:刚开始学习接触Git ,有许多问题,不足还问题,欢迎指出,不断更新。git add . :将本地所有改动数据,提交到缓存区。注意add 后面是. 表示所有git commit -m "提交修改内容标题"  提交文件到本地仓库    注:可以使用 :git commit -am "提交修改内容标题"  一步就可以完成提交代码到仓库如果执行git add 之后,想要撤回的话,可以执行...

2018-08-22 16:38:47 268

微信小程序/网页/app/android等各种bar图标导航图标文章图标标题图标下拉/检索收藏上传客服等图标整理

微信小程序/网页/app/android等各种bar图标导航图标文章图标标题图标下拉/检索收藏上传客服等图标整理

2018-05-01

两种日历时间年月控件--js

这里包含了两种JS格式的日历,一种可以选择年月,一种具体日期(也可选择年月)。可以灵活的使用,方便开发过程中。节约时间,高效。onclick="return Calendar('xinhui_time2');" 使用点击事件,xinhui_time2 是id的值就行

2018-04-20

sweetalert.min.js 弹出框的漂亮的js部分代码

sweetalert.min.js 弹出框的漂亮的js部分代码。另外的sweetalert.css请到我的资源的查看。保证能用

2018-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除