校招面試常考演算法題總結

2021-09-27 02:34:11 字數 1708 閱讀 9964

一面:

演算法題:旋轉陣列查詢target的開始和結束索引(lc 二分搜尋經典題目

最直觀的做法是兩次二分,第一次二分先找到分界點,第二次二分找到開始和結束

演算法題1排序陣列有重複,旋轉之後查詢(lc/劍指offer原題)

演算法題2二維陣列左到右上到下非遞增,查詢元素,注意陣列維度很大時要使用二分查詢思想。

數學題拋硬幣的依圖祖傳題,具體題目記不太清了,用到了貝葉斯公式和等比數列求和。 ( 概率題以及貝葉斯公式有時候在面試中(主要是演算法崗)也會遇到)

二面:

演算法題:二維陣列全是0或1,求全為1的最大子矩形面積(lc85題)這道題比較難

演算法題:一維陣列,索引差為寬度,兩邊值較小的為高,求最大矩形面積, (lc84題)

演算法題:全排列(lc原題,遞迴回溯)

演算法題topk,用了快排和堆兩種思路,堆的解法讓現場建堆(演算法導論上那一堆關於heap-sort的輔助函式都讓寫,當時全職實習沒時間複習基礎,基本都忘了,憑藉之前的印象大致寫出來了)

簡單的演算法題:爬樓梯,斐波那契數列』

三道演算法題最長回文序列: lc516 用動態規劃解

非迴圈列印

判斷圖形是否為凸多邊形: 計算幾何問題,用叉積,但是現場面試一般很少出現。

演算法題:一維亂序陣列,給定乙個target,輸出所有和為target的子陣列 ( 使用字首和容易給出o(n^2))的做法, lc560)

map reduce 基本原理在面試中也經常問到

演算法題:判斷兩個鍊錶是否有交點,自己說了三四種方法,面試官比較滿意。

這道題目比較簡單

演算法題,每隔k個翻轉鍊錶

這道翻轉鍊錶的題目,稍微有點難,需要畫圖思考

演算法題1給定乙個一維陣列,輸出乙個一維陣列,每個位置對應輸入陣列相同位置之後第乙個比該位置元素大的數,沒有的話輸出-1,當時只想出了n**2的暴力做法,這個題目可以使用單調棧,on時間複雜度,當時沒想出來。

演算法題2給定乙個陣列,判斷是否存在索引i

校招筆試面試中Linux常考內容

對linux只是個人興趣愛好,在之前稍微接觸了一點,學校對這部分內容的學習安排在大三下學期,而自己又要現在準備實習,許多公司對作業系統和linux的考察又比較多,無論是在筆試中還是面試中 算是自己總結知識和複習吧,從網上各處收集一下各種考點,也方便大家複習查閱 1 在linux中,常用檔案的方式訪問...

面試常考 排序演算法總結

排序在各次面試的過程中問道的次數不少,氣泡排序和快速排序尤多。因此做一些總結,尤其是 部分。1.氣泡排序 1 思想 在一組數中,對當前未排好序的數,自上而下地對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的數往上冒。2 複雜度 平均情況 o n 2 最壞情況 o n 2 逆序有序 最好情況...

面試常考的幾個題

管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對...