- 博客(19)
- 收藏
- 关注
原创 算法的基本特性
算法和程序设计以及数据结构有着密切的相关。算法是为了解决某一些特定类型的问题而设计的一个实现过程,算法有以下特性:有穷性:一个算法必须在执行有穷步之后结束,并且每一步都在有穷时间内完成,不能无限的执行下去;就行数据中的线段一样,有始有终确定性:算法的每一个步骤都应当是有确切定义的,对于每一个过程都不能有二义性,将要执行的每个动作都必须做出严格而清楚的规定。可行性:算法中的每一步都应当有效...
2019-11-28 02:58:44
10912
1
原创 UML图例介绍
1.类(Class)类图分为三层,第一层:类的名称;第二层:类的特性,通常就是类的属性和字段;第三层:类的操作,通常就是行为和方法。注:"+“符号代表public,”-“符号代表private,”#"符号表示protected2. 接口(interface)与类图的主要区别:顶端有<>字样显示;第一行是接口名称,第二行是接口方法3. 继承(extends)类与接口之间的关系...
2019-11-28 02:21:36
211
原创 Centos7下PHP7.3安装遇到的问题
执行编译命令:./configure --prefix=/usr/local/php --with-fpm-user=guo --with-fpm-group=guo --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --wit...
2019-11-16 04:33:32
883
原创 PHP实现数组最大连续子序列和
题目:给定一个整数数组 $arr ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。考虑思路:1. 穷举法把每种情况都计算出来,然后进行一一对比,这种做法显然不可取,复杂度太高2. 动态规划法把每次统计到的数据之和和当前循环值做对比,每次只返回最大值,这样就可以做到,将最大值保留到最后,并且返回得到想要的值,并且复杂度为O(n)。下面是php实现代码:fun...
2019-11-16 04:22:33
334
原创 PHP实现 两整数的汉明距离计算
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)上面的箭头指出了对应二进制位不同的位置。来源:力扣(LeetCode)链接:https://leetcode...
2019-10-01 22:56:18
258
原创 使用PHP完成LeetCode中的试题:IP地址无效化问题
问题:给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。题目相对来说有点简单,就是简单的字符串替换以下是使用PHP写出了四种解法,运行内存和时间都相差不大 1. 使用PHP自带的函数 str_replace str_replace(".", "[.]", $addres...
2019-09-30 23:07:44
138
原创 PHP实现:判断一个字符串中的括号是否闭合
判断一个字符串中的括号是否是闭合的,有以下几点注意:判断字符串中是否含有"()",如果不包含,则直接返回循环字符串,判断含有的"()",是否是相等的如果")"在前,则不计算<?php/** * 判断一个字符串中的括号是否闭合 */function checkStr($str) { if(empty($str)) { return "字符串不能为空...
2019-09-30 02:18:41
640
原创 leetCode猜数字:不同语言的实现,不同的空间复杂度和时间复杂度
引用LeetCode上的一道算法题:题目:小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。来源:力扣(LeetCode)链接:https://l...
2019-09-27 00:33:36
369
原创 PHP面试题:逆序思维 还原扑克牌顺序
题目:有10张扑克牌,从上面开始抽,抽出一张放在桌子上,然后再抽出一张放在扑克牌的最下面,这样循环往复的操作,直到手中的牌都没有了在看到这个时候,感觉特别简单,不过在实现的时候,逆序还原,有点没反应过来,实现的时间长了点。以下是实现的具体实现代码:/** * 这时,桌子上牌的顺序正好是1 2 3 4 5 6 7 8 9 10。 * 要求写代码求出原来顺序 *//** * 还原数...
2019-09-25 00:21:10
723
原创 PHP实现判断字符串是否是回文字符串
前两天,有朋友问我一个面试题,大概的意思就是:如何判断一个字符串是回文字符串?(第一个和最后一个相同,第二个和倒数第二个相同,以此类推……)这个感觉还是很简单的。<?php$str = '11322311';$len = strlen($str);for ($i = 0; $i < $len/2; $i++) { $start_str = $str[$i]; ...
2019-09-21 17:09:42
1010
原创 PHP实现:杨辉三角
闲来无事,写个杨辉三角的程序,应该已经有很多文章写这个了<?php/** * 杨辉三角 * 每一行第一个数和最后一个数为1,其他位置上的数 = 上一行同位置的数+上一行同位置的前一位数之和。 */function yh_put($max) { $array = []; // 循环列数 for($i = 1; $i <= $max; $i++) {...
2019-09-21 16:54:49
1059
2
原创 PHP实现 鸡兔同笼的问题
小学的应用题:鸡兔同笼问题<?php/** * 《孙子算经》【鸡兔同笼问题】 * 今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何? * (在一个笼子里关着若干只鸡和若干只兔,从上面数共有35个头;从下面数共有94只脚。问笼中鸡和兔的数量各是多少?) * 设 $i 为鸡头,$j 为兔头 */// 循环$i$i = 0;while ($i < 35) {...
2019-09-11 18:20:55
4742
原创 PHP实现 两个正整数,求最大公约数,最小公倍数
简单的实现一下,直接上代码:<?php/** * 定义两个正整数,求最大公约数,最小公倍数 * 提示: * 最大公约数,从大到小循环 * 最小公倍数,从比较大的值,按倍数增长去找 */$m = 15;$n = 20;for ($i = $m; $i >= 1; $i--) { if($m % $i == 0 && $n % $i ==...
2019-09-11 18:18:45
5111
2
原创 PHP代码 foreach循环使用&(按址传递)出现的问题
前两天,有朋友和我看了一个有趣的问题,在这里展示给大家:<?php$arr = [1,2,3,4,5];foreach ($arr as $key => &$value) { }foreach ($arr as $key => $value) { }var_dump($arr);运行这段代码,最后会输出什么呢?不仔细看的话,大家肯定会...
2019-09-11 01:39:03
309
原创 PHP实现数组重新排序 奇数在奇数位,偶数在偶数位
<?phpfunction mySort($arr) { $count = count($arr); $i = 0; $j = 1; while ($i < $count && $j < $count) { // 当偶数位上恰好是偶数时,则直接进入$i的下次循环 if($arr[$i] % 2 ==...
2019-09-10 22:59:13
476
原创 PHP特性——命名空间
PHP语言中首次引入命名空间是在PHP5.3.0版本中引入的,是一个非常重要的工具。 PHP命名空间与操作系统中的物理文件系统不同,这是一个虚拟的概念。没有必要和文件系统中的目录结构完全一致。但是,大多数的php组件为了兼容广泛应用的PSR-4自动加载器标准,会把子命名空间放到文件系统的子目录中。 从技术层面来看,命名空间只是PHP语言中的一种标记符号,PHP解释器会将...
2019-06-22 00:07:45
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人