位置: IT常识 - 正文
推荐整理分享php有哪些算法面试题(php的难点),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php算法面试题及答案,php 算法100题,php算法面试题及答案,php常见算法,php常见算法,php常见算法,php算法大全教程,php算法大全教程,内容如对您有帮助,希望把文章链接给更多的朋友!
我们在php中也学习了不少方面的算法知识点,其中的种类就不一一举例,但是在php面试题中会随机抽选出来,以实例的形式进行考察。这点和我们之前遇到的一些面试题不太一样,在这个模块中会专注实际的算法运算结果,复习时也不是没有规律可循。下面我们就带来一些算法中常见的面试题。
1.冒泡排序
每一次冒出一个值
functionbubbleSort($arr){$count=count($arr);if($count==0)returnfalse;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 个单位的雨水(蓝色部分表示雨水)。
实现代码
/***@paramInteger[]$height*@returnInteger*/functiontrap($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;}上一篇:python字符串如何访问字符(python字符串如何提取单词)
友情链接: 武汉网站建设