文章插图
我们在php中也学习了不少方面的算法知识点,其中的种类就不一一举例,但是在php面试题中会随机抽选出来,以实例的形式进行考察 。这点和我们之前遇到的一些面试题不太一样,在这个模块中会专注实际的算法运算结果,复习时也不是没有规律可循 。下面我们就带来一些算法中常见的面试题 。
1.冒泡排序
每一次冒出一个最大的值
function bubbleSort($arr){$count = count($arr);if ($count == 0) return false;for ($i = 0; $i < $count - 1; $i++) {for ($k = 0; $k < $count - 1 - $i; $k++) {if ($arr[$k] < $arr[$k + 1]) {$tmp= $arr[$k];$arr[$k]= $arr[$k + 1];$arr[$k + 1] = $tmp;}}}return $arr;}2.给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水 。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水) 。
文章插图
实现代码
function trap($height){$len = count($height);$sum = 0;for($i = 1; $i < $len; $i++){$left_max = 0;$right_max = 0;for($j = 0; $j < $i; $j++){$left_max = max($left_max, $height[$j]);}for($k = $i; $k < $len; $k++){$right_max = max($right_max, $height[$k]);}$max = min($left_max, $right_max);if($max > $height[$i]){$sum += $max - $height[$i];}}return $sum;}以上就是php算法面试题的两种不同类型,前者偏向于理论知识点的考察,后者会结合一些实际的情况,大家在复习的时候,可以针对这两种情况进行练习 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- php assign php asort函数的使用
- php数组去重 php如何过滤重复的数组?
- php zend框架 php Zend中搭建MVC
- php 排序 php选择排序是什么意思
- php sort函数 php中sort函数是什么
- php symfony php之Symfony框架是什么
- php zend框架 php中安装Zend框架
- php面试问题大全及答案大全 php初级面试题的总结
- 哈希表在php中的使用
- phpfor循环语句 php中for循环是什么