這一篇部落格主要是對面試過程中經常問到的一些演算法題型做乙個總結,後面會有幾篇專門的文章對每乙個型別的演算法進行總結。
有幾個題很相似,但是解決的方法不同:
例如:海量資料中找第k個大的數——類排序,外部排序
求資料流的中位數——類排序,最大堆最小堆
樹的層次遍歷
樹的映象判斷
樹的相同判斷
鍊錶環的尋找
鍊錶倒數k的節點的選擇
尋找非重複的字元——分治+異或
尋找第乙個非重複的陣列——佇列+次數表
尋找第乙個重複的字元——bitmap表
字串的排序,去重——bitmap表
兩個佇列轉換成為乙個棧
兩個棧轉換成乙個佇列
棧最小值操作
最大子陣列
斐波拉契
醜數圓圈刪除數字
n個雞蛋從m層樓上扔下來,確定k次即可辨別零界點
給50個硬幣,面值可以不同,排成一排,兩個人輪流取,只能從兩端取,先取的人如何保證取到的幣值大於等於另乙個人。
f[i][j]=max(num[i] + sum[i+1][j] - f[i+1][j] , num[j] + sum[i][j-1] - f[i][j-1])
f[i][j]表示從i到j取的最大和
sum[i][j]表示從i到j的和
迷宮
數字尋找路線
給出幾個數,求這些數的全排列,首先從數學上我們可以分析,全排列就是an的可能性,那麼如何做呢?
使用的思路就是交換,首先將第乙個元素固定,然後去遞迴第二個元素之後的全排列
注意每次將第乙個元素和後面乙個元素固定,然後去遞迴,遞迴完成了之後將其交換回來,在進行其它的交換
相似的問題:
1,八皇后問題
2.矩陣面值相等的問題
這些問題都是首先求出所有的全排列,然後給出這些數字排列的約束條件,從約束條件中選出我們題目給定的要求。
PHP面試常見演算法 函式總結
3.寫5個不同的自己的函式,來擷取乙個全路徑的檔案的副檔名,允許封裝php庫中已有的函式。url dir upload.image.jpg找出jpg或者.jpg 1.return strrchr filename,strrchr 函式查詢字串在另乙個字串中最後一次出現的位置,並返回從該位置到字串結尾...
面試常見演算法
本博從工作以來經歷過不少面試,既然是軟體行業那麼面試少不了演算法,就像電影少不了高潮一樣。演算法是考察人的基本邏輯能力和探索能力,但是基礎演算法不掌握或者接觸的演算法很少,即使邏輯能力和數學能力再強的人在短短的面試時間內也解決不了很多基礎演算法問題。常見的排序演算法為插入演算法 直接插入,希爾排序 ...
演算法 面試總結
以位元組為例,面試基本就是演算法題 八股文 演算法 leetcode top100 劍指offer刷熟絕壁夠了,剩下就是看運氣了,運氣不好碰到憨憨面試官刷個500題可能也不夠 八股文 在lc上找10來篇自己崗位的面經,把上面的問題搞熟 這就是拿位元組offer的步驟。永遠不要等自己一切都準備好了再投...