百度筆試題

2021-06-06 07:46:49 字數 770 閱讀 4730

1.單詞a中任意字母交換位置變為單詞b,我們就稱單詞a,b為兄弟單詞,如 army 與 mary為兄弟單詞。現給乙個單詞字典,使用者輸入乙個單詞,找出字典中所有的兄弟單詞,請寫出你的解題思路和演算法。

待高人解答

2.執行緒和程序有什麼區別,怎麼理解「執行緒安全」?

解答:執行緒安全 可能指多執行緒時對同一資源物件的呼叫容易出問題,應該加鎖、互斥等保護。

3.c與c++分別是怎樣動態分配和釋放記憶體的,有什麼區別?

解答:malloc與free,是函式;需要手動計算空間大小

new與delete是運算子;自動計算大小;可以呼叫構造和析構函式

4.判斷兩個無環單向鍊錶有沒有相交。

解答:方法1,單鏈表m表尾指向單鏈表n表頭,從n的表頭開始遍歷,看是否回到n的表頭(行程環路)

方法2,只比較兩個鍊錶的表尾是否相同

5.陣列al[0...num-1]可以分為兩部分,al[0...mid-1]和al[mid...num-1],並且這兩部分都各自有序。請將陣列兩部分merge(合併),形成乙個總體有序的陣列,並且要求空間複雜度為o(1)。

解答:假定均是由小到大排序。要求空間複雜度為o(1),不能用歸併排序。採用氣泡排序的變種,利用兩部分各自有序的特性,使比較次數變少。

主要**如下:

if(al[mid-1]=0;i--)

else //如果前乙個數 小於後乙個數,則小於之後的所有數,可以跳出內層迴圈

break;

}}

待高人解答

百度筆試題

一 選擇題 15分 共10題 1.在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是 a.shell排序 b.歸併排序 c.直接插入排序 d.選擇排序 2.以下多執行緒對int型變數x的操作,哪幾個需要進行同步 a.x y b.x c.x d.x 1 3.void func 中,變數val的記憶體...

百度筆試題

一 選擇題 15分 共10題 1.已知乙個線性表 38,25,74,63,52,48 採用的雜湊函式為hash key key mod 7,將元素雜湊到表長為7的雜湊表中儲存。請選擇後面兩種衝突解決方法分別應用在該雜湊表上進行等概率成功查詢的平均查詢長度,拉鍊法 線性探測法 a.1.0 b.1.5 ...

百度筆試題

1 完成函式 size t foo unsigned int a1,size t al1,unsigned int a2,size t al2 其中a1和a2都為無符號陣列,al1和al2為陣列的長度,陣列的長度為偶數。無符號陣列由一對數字區間組成。如下例 a1 為 0,1,3,6,10,20 a2...