
文章插圖
我們在php中也學(xué)習(xí)了不少方面的算法知識點(diǎn),其中的種類就不一一舉例,但是在php面試題中會隨機(jī)抽選出來,以實(shí)例的形式進(jìn)行考察 。這點(diǎn)和我們之前遇到的一些面試題不太一樣,在這個模塊中會專注實(shí)際的算法運(yùn)算結(jié)果,復(fù)習(xí)時也不是沒有規(guī)律可循 。下面我們就帶來一些算法中常見的面試題 。
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 個非負(fù)整數(shù)表示每個寬度為 1 的柱子的高度圖,計(jì)算按此排列的柱子,下雨之后能接多少雨水 。上面是由數(shù)組 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度圖,在這種情況下,可以接 6 個單位的雨水(藍(lán)色部分表示雨水) 。

文章插圖
實(shí)現(xiàn)代碼
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算法面試題的兩種不同類型,前者偏向于理論知識點(diǎn)的考察,后者會結(jié)合一些實(shí)際的情況,大家在復(fù)習(xí)的時候,可以針對這兩種情況進(jìn)行練習(xí) 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- php assign php asort函數(shù)的使用
- php數(shù)組去重 php如何過濾重復(fù)的數(shù)組?
- php zend框架 php Zend中搭建MVC
- php 排序 php選擇排序是什么意思
- php sort函數(shù) php中sort函數(shù)是什么
- php symfony php之Symfony框架是什么
- php zend框架 php中安裝Zend框架
- php面試問題大全及答案大全 php初級面試題的總結(jié)
- 哈希表在php中的使用
- phpfor循環(huán)語句 php中for循環(huán)是什么
