1. 兩個有序鍊錶的合併(遞迴) ps:還有非遞迴演算法
思路: 遞迴的思路主要是兩個有序的鍊錶,從頭結點開始比較,大的作為合併後的頭結點, 比如list1 和 list2, 而除去頭結點後的用list1' 和 list2'表示,
若list1頭結點大於list2的,則保留list1的頭結點作為合併後鍊錶的頭結點, 而後用 list1'和 list2繼續遞迴合併。**如下:
nod* meg(nod* list1, nod*list2)else
if (list1 ==null)
else
if (list2 ==null)
else
else
return
temp;
}}
2. 字串反序
感覺題目就是要寫乙個類似reverse()函式, 用兩個指標指向字串的頭尾,沒有相遇就swap,不知道還有沒有更優的解法。
看面試官的感覺 似乎還有更優的。。
char* revs(char *str)return
str;
}
3. static的用法
(1)區域性靜態變數
儲存空間在全域性靜態區 只初始化一次
(2)外部靜態變數/函式
被static修飾的變數或者函式只能被該檔案引用 不能被其他檔案引用
(3)靜態資料成員/成員函式
修飾成員變數或成員函式的唯一性,用static修飾的代表不屬於某一例項物件 而是屬於整個類
當時沒想到第二點。。只考慮了1,3點。。
4. 乙個陣列,其中只有兩個數是相同的,如何找到這兩個數?
當時就有點懵,似乎在程式設計之美見過,但是想不起來了,事後想想似乎hash可以做,
判斷某陣列是不是某二叉搜尋樹的後序遍歷的結果
最近在整理之前做過的演算法題,有疑問或者有更好的解題思路可以和我聯絡。輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。public class solution 如果陣列是某二叉搜尋樹的後序遍歷的結果,那麼ro...
百度垂直搜尋部門實習面經
一面 1.背景問題 自我介紹,問有關專案經歷,描述以前做的東西 語言 1.c 關於vtable,是類對應vtable還是物件對應vtable 類 2.建構函式能否是虛函式 我說的比較含糊 個人認為從語言設計角度來講不需要 3.malloc和new的差別 4.析構函式不是虛函式的情況給個例子,問會發生...
頭條搜尋部門後台開發實習生面經
一面 1 使用http時,客戶端向服務端傳輸時,出現了丟包,但是服務端的的http響應報文的狀態碼是200,怎麼樣解釋這個現象。2 64匹馬,8個賽道,求出最快的四匹馬。3 https協議和http協議的區別,4 對於乙個正整數陣列,將該陣列調整為下乙個剛好比該陣列表示的數大的數,比如1234 下乙...