微信一面筆試
45分鐘手寫代碼
1.給定一個遞增循環整數數組,從裏面找出最小的元素,使用的算法越快越好。特別地,最小的元素可能出現在數組中間。比如:50, 52, 63, 90, 3, 8, 15, 44。
2. 兩個有序(從小到大)單鏈表,合併爲一個有序的單鏈表
3 在二叉排序樹上面找出第3大的節點。注意:不能把二叉樹全量存儲到另外的存儲空間,比如存儲到數組中,然後取出數組的第三個元素。
4. 有一個二叉樹,每個節點的值是一個整數。寫一個函數,判斷這顆樹中是否存在從根到葉子節點的一個路徑,這個路徑上所有節點之和爲某一個值。存在返回1,否則返回0。
5. 工行有30萬員工,現在要均勻抽出1萬員工發獎品,有一個16位(2^16)的隨機數發生器rand16(),請寫一個main函數代碼實現這個功能。