百度筆試題

來源:巧巧簡歷站 4.22K

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

百度筆試題

數據結構為:


typedef struct_TreeNode{


char c;


TreeNode *leftchild;


TreeNode *rightchild;


}TreeNode;


函數接口為:int CompTree(TreeNode* tree1,TreeNode* tree2);


注:A、B兩棵樹相等當且僅當Root->c==RootB-->c,而且A和B的左右子樹相等或者左右互換相等。



2、寫一段程序,找出數組中第k大小的數,輸出數所在的位置。例如{2,4,3,4,7}中,第一大的數是7,位置在4。第二大、第三大的數都是4,位置在1、3隨便輸出哪一個均可。


函數接口為:int find_orderk(const int* narry,const int n,const int k)



2'、已知一個字串由GBK漢字和ansi編碼的數字字母混合組成,編寫c語言函數實現從中去掉所有ansi編碼的字母和數字(包括大小寫),要求在原字串上返回結果。


函數接口為:int filter_ansi(char* gbk_string)


注:漢字的GBK編碼範圍是0x8140-0xFEFE





百度筆試題(感謝網友lihan提供)


shury 發表於 2005-12-5 17:05:00



1)此題10分


對任意輸入的正整數N,編寫C程序求N!的尾部連續0的個數,並指出計算複雜度。如:18!=6402373705728000,尾部連續0的個數是3。


(不用考慮數值超出計算機整數界限的問題)



2)此題10分


編寫一個C語言函數,要求輸入一個url,輸出該url是首頁、目錄頁或者其他url


如下形式叫做首頁:







如下形式叫做目錄頁:







請注意:


a) url有可能帶http頭也有可能不帶


b)動態url(即含有"?"的url)的一律不算目錄頁,如:





另:如果你會linux,請用linux下的grep命令實現第2題的功能(附加5分)。



3)此題40分


如果必須從網頁中區分出一部分"重要網頁"(例如在10億中選8億),比其他網頁更值得展現給用户,請提出一種方案。



4)此題40分


假設有10億網頁已經被我們存下來,並提供如下信息:網頁全文(即網頁的源碼)、全文長度、網頁正文(即網頁中提取的主體文字)、


正文長度,以及其他網頁提取物等,現在希望去掉其中的重複網頁,請提出可行的方案,計算出每個網頁對應的重複度,你可以自己


對網頁重複下定義,也可以提出需要哪些更多的網頁提取物來實現更好的去重複方案

熱門標籤