百度筆試1

2021-06-19 08:22:13 字數 1084 閱讀 9664

1、 對任意輸入的正整數n,編寫c程式求n!的尾部連續0的個數,並指出計算複雜度。如:18!=6402373705728000,尾部連續0的個數是3。(不用考慮數值超出計算機整數界限的問題)

思路:就是求n中5的個數

解答:int num;//結尾0的個數

num=0;

while(n)

2、請實現兩棵樹是否相等的比較,相等返回1,否則返回其他值,並說明演算法複雜度。

資料結構為:

typedef struct_treenodetreenode;

函式介面為:int comptree(treenode* tree1,treenode* tree2);

注:a、b兩棵樹相等當且僅當root->c==rootb-->c,而且a和b的左右子樹相等或者左右互換相等。

解答:int comptree(treenode* tree1,treenode* tree2)

int iszimu(

int ch)

int filter_ansi(

char

* gbk_string)

elseif(

*tmp&0x80)

else

tmp++;

}gbk_string[i]

='\0'

;return filter;

}int main(

int argc,

char

*argv)

這是個編碼問題,你可以檢視下

編碼名稱   第一位元組                第二位元組

gb2312     0xb0-0xf7            0xa0-0xfe

gbk          0x81-0xfe            0x40-0xfe

big5         0x81-0xfe            0x40-0x7e or 0xa1--xfe

我這裡簡單起見,就直接用第乙個位元組的高位為1了....

如果沒記錯的話,全形輸入的漢字,符號都是高位為1。如這裡的(,。)

*tmp&0x80 是為了確定*tmp最高位是否為1

百度筆試題1

1.假設乙個 搜尋引擎收錄了 2 24 首歌曲,並記錄了可收聽這些歌曲的 2 30 條 url,但每首歌的 url 不超過 2 10 個。系統會定期檢查這些 url,如果乙個 url 不可用則不出現在搜尋結果中。現在歌曲名和 url 分別通過整型的 song id 和 url id 唯一確定。對該系...

百度筆試題

一 選擇題 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 ...