一面跪,有很多不足的,記錄一下。
10:30面試, 晚了一分鍾到, 非常不應該,導航錯了地圖也是醉了,面試一定要提前15分鍾到。
面試官很和藹。
1. 寫一個開根函數,要求誤差小於m。 (實現 pow(x, n) , n為小數,1/n 為整數。)
目前的想法,二分+快速冪
或者泰勒展開。
推薦二分+快速冪,容易實現誤差<m
2. 給一個樹,每個節點有一個權值,求從根往下權值最大的路徑,盡量用非遞歸。
遞歸很簡單,記錄並維護每個節點下路徑最大值。
非遞歸其實也很簡單,但是我當時傻逼的往實現樹的后序遍歷方面去考慮了,其實不需要這么復雜。
遍歷所有節點,每個節點記錄從改節點往上到根的路徑,已經記錄過了點就直接用,這樣只需要知道父節點即可,復雜度o(n),而且很好寫。
3. 有一個長度為10T的串s,求子串t出現的次數?
因為s非常長所以肯定是內存是存不下的,但是也可以使用內存移動+kmp來實現。
最近可以學習下比KMP更快的BM和sunday算法。
4. shell命令,有一個文件,該文件每行包含兩個字段
比如:
1 chen
2 le
1 chen
1 le
3 ss
寫出命令求(x y)出現的次數
cat file | sort | uniq -c
這題沒答出來,導致后面全程被鄙視。
5. VIM操作,注釋多行代碼
ctrl + v 選擇要注釋代碼塊的第一列 shift + i 輸入// esc
6.STL, BOOST庫, STL中的內存管理。
基本上就是作死狀態。
GG