- 博客(18)
- 资源 (8)
- 收藏
- 关注
原创 剑指offer-二叉树的镜像-php
题目 操作给定的二叉树,将其变换为源二叉树的镜像。 题解 翻转二叉树,有递归和非递归两种方式,非递归就是使用队列。代码<?php/*class TreeNode{ var $val; var $left = NULL; var $right = NULL; function __construct($val){ $this->val = $
2017-03-24 15:08:09 2442
原创 剑指offer-二叉树的深度-php
题目 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。题解 两种方法,一种是递归,深度优先遍历二叉树。另一种是非递归,就是层次遍历二叉树的方法,加上计算深度。代码<?php/*class TreeNode{ var $val; var $left = NULL; var $right = NU
2017-03-23 23:55:06 2815
原创 剑指offer-从上往下打印二叉树-php
题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印。题解 每层树从左到右打印,所以需要将节点的左右子树存起来,因为先进先出,所以用队列。代码/*class TreeNode{ var $val; var $left = NULL; var $right = NULL; function __construct($val){ $thi
2017-03-23 23:11:44 2294
原创 剑指offer-栈的压入、弹出序列-php
题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)题解 平时也会遇到这种题目,解决思路和我们平时想的是一样的。就是一个一个地入栈,当栈顶元
2017-03-22 20:51:04 2160
原创 剑指offer-链表中倒数第K个节点-php
题目 输入一个链表,输出该链表中倒数第k个结点。题解 注意这个题目是返回节点,而不是返回值。返回值的话可以用栈来存储。返回节点则不能这样做。 设置两个指针,先让第一个指针移动k-1次。然后两个指针同时移动,当第一个指针到达最后一个节点,第二个指针就在倒数第k个节点。 注意边界:K长度可能超出链表长度,所以当第一个指针的next为空时,返回null代码<?php/*class
2017-03-20 20:02:43 2440
原创 剑指OFFER-合并两个排序的链表-PHP
题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题解 简单的合并排序。由于两个数列本来就是递增的,所以每次将两个数列中较小的部分拿过来就可以了。代码<?php/*class ListNode{ var $val; var $next = NULL; function __construct($x){
2017-03-20 19:19:36 2480
原创 剑指OFFER-替换空格
题目 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。**题解 用str_replace函数试了一下,竟然能通过,看来效率还是很高的。 然后考虑解题思路,很明显这是要替换字符串,所以要考虑的是移动原有的字符串还是新建一个字符串。为了降低空间复杂度,一般会选择在原来字符串基础上进行
2017-03-19 16:25:00 2088
原创 剑指OFFER-二维数组中的查找
题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解 最笨的办法当然是按照顺序挨个搜索,如果数组无序的话,这也是唯一的办法,不过既然数组有序,就可以简单很多,一是可以通过每列的二分查找的方式搜索。不过更简单的是因为数组排列从左到右递增,从上到下递增。那每一列最左边的数
2017-03-19 15:54:06 2285
原创 记一次php实习生面试题
首先,挂没挂还不知道,我估计大概率挂了。。。。。 好未来工作效率真心感人,也许他们hr比较多吧,在实习僧上投了简历20分钟之后就打过电话来了,吓我一跳,然后发了我一套笔试题,喊我在一小时内完成,题目比较简单,前20道都是关于php基础的内容,后10道是一些mysql语句,题目比较简单,就不发上来了。 第二天上午,hr告诉我笔试过了,叫我下午面试,我以为又要在线编程什么的,早早做好了准
2017-03-18 10:11:36 8126 2
原创 阿里云windows server mysql安装时 发生系统错误1067
这个问题困扰了我半天,因为我对windows server下的mp环境配置真的是一窍不通,尤其是对IIS,也就是在学习服务器配置时使用过一点,所以下载了一个集成包安装使用,然后在安装mysql时提示了这个错误。 我的解决办法 在网上找到很多解决这个问题的办法,我逐一进行过实验,因为我是在阿里云服务器上配置,使用的是最低内存配置,所以看到有人说内存可能会使INNdb服务无法开启,所以我将my.
2017-03-11 21:21:11 3071
原创 TIMESTAMP with implicit DEFAULT value is deprecated
这个是在windows server2008下安装时遇到的错误,是在运行mysqld –initialize 这一语句时发生的warnning,这是一个配置错误。 解决办法 在mysql/my.ini 文件中的[mysqld]下添加一行explicit_defaults_for_timestamp=true。就可以了 这个语句的含义是 #开启查询缓存,这也是web缓存之一,对重复查询只
2017-03-11 21:08:37 29511
原创 #1045 无法登录 MySQL 服务器
这种情况一般是安装mysql时密码没有设置成功导致的,比如安装时mysql程序没有成功启动,此时如果你使用的是phpmyadmin,可以采用它的默认配置来登陆mysql服务。 其实这种情况遇到过两次了,第一次是在linux下配置lamp环境时候,那个时候没有在意,直接重新安装了一遍,没有去研究细节,这次帮别人配置windows server2008的lamp环境时,也遇到了这个问题,就去研究了一
2017-03-11 21:01:17 54065
转载 关于OOP设计模式简介
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。– Christopher Alexander 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。设计模式与面向对象 面向对象设计模式解决的是“类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面
2017-03-06 10:20:31 2920
原创 关于MVC架构的深入思考-发现自己错误
最近课比较少,读了基本PHP大作,也在github上阅读了几个优秀作品的源码,发现了自己在以往的代码结构中的可笑之处。 php,做的最多的应该就是网站,其中进来通用的架构就是mvc架构,将视图、模型、控制器分开,以方便不同角色开发人员工作,前端和后端可以彻底分开。其中,将v分隔开,是非常容易理解的,只要数据和逻辑完全不出现在视图部分就可以了。但是MV这两部分如何区分,在初学这种架构时是一个大难
2017-03-05 21:34:45 3917
原创 PHP面向对象编程设计模式(四)观察者模式
介绍 你在编程中可能会遇到过,有时一个对象的状态改变会影响很多类的行为,比较典型的就是在购买流程中,购买成功后会影响库存、销量、会通知发货、有的还需要发送短信。购买这个行为在发生变化时需要同时发生其他行为,但是如果写在一起,一旦流程发生变化,改起来会比较麻烦,将这些行为写在一起的耦合度也太高,观察者模式可以解决这个问题,通过观察者和状态主题互相注册的方式,使主体在发生变化时能够通知观察者,两者组合
2017-03-05 20:51:43 4127
原创 PHP面向对象编程设计模式(三)工厂模式
介绍 在前面文章中提到的策略模式提到过,需要客户自行选择类并创建实例,那么这个选择的过程放在哪里呢,如果在每一个需要此对象的地方都new一个,那必然会有代码重复,而且如果修改也会很麻烦,这样不符合面向对象的封装原则。所以,工厂模式出现了。 由工厂类根据参数来决定创建出哪一种产品类的实例; 工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。工厂
2017-03-05 18:14:06 3980
原创 PHP面向对象编程设计模式(二)单例模式
在Php编程中,单例模式虽然不是最常用,但一定是最不可缺少、应用非常广泛的一种设计模式,虽然你可能不太了解它,但只要你有过开发一个完成系统的经历,相信我,你一定使用过它。介绍单例模式(Singleton Pattern),也被成为单件模式,确保某个类只能有一个正在运行的实例,而且自行实例化并且向系统提供这个实例。有且只有一个 是单例模式最重要的特点。特点1.只能有一个实例。2.必须自行创建这个实例。
2017-03-05 16:22:15 4149
原创 PHP面向对象编程设计模式(一)策略模式
在面向对象的入门课程C++(或者JAVA)中,封装数据和方法好像是面向对象最重要的一个特点,当然还有基于继承实现的多态和重载。其实每一种OOP语言,由于彼此功能上的差异性,这些特点只能适用于某一种特定的任务。 比较公认的一点是,开发面向对象的软件不仅要注重语言和语法特性,设计思想也是尤其重要的一点。相对于面向过程的语言,面向对象的语言更
2017-03-05 15:43:15 4851
nginx-lua监控grafana图表模板.zip
2020-04-01
nginx-lua-counter.zip
2020-04-01
nginx-lua监控grafana图表模板.zip
2020-03-30
SpringBoot监控grafana图表模板.zip
2020-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人