1、請(qǐng)實(shí)現(xiàn)兩棵樹是否相等的比較,相等返回,否則返回其他值,并說明算法復(fù)雜度。
數(shù)據(jù)結(jié)構(gòu)為:
typedef struct_TreeNode{
char c;
TreeNode *leftchild;
TreeNode *rightchild;
}TreeNode;
函數(shù)接口為:int CompTree(TreeNode* tree1,TreeNode* tree2);
注:A、B兩棵樹相等當(dāng)且僅當(dāng)Root-c==RootB--c,而且A和B的左右子樹相等或者左右互換相等。
2、寫一段程序,找出數(shù)組中第k大小的數(shù),輸出數(shù)所在的位置。例如{2,4,3,4,7}中,第一大的數(shù)是7,位置在4。第二大、第三大的數(shù)都是4,位置在1、3隨便輸出哪一個(gè)均可。
函數(shù)接口為:int find_orderk(const int* narry,const int n,const int k)
2'、已知一個(gè)字串由GBK漢字和ansi編碼的數(shù)字字母混合組成,編寫c語言函數(shù)實(shí)現(xiàn)從中去掉所有ansi編碼的字母和數(shù)字(包括大小寫),要求在原字串上返回結(jié)果。
函數(shù)接口為:int filter_ansi(char* gbk_string)
注:漢字的GBK編碼范圍是0x8140-0xFEFE
百度筆試題(感謝網(wǎng)友lihan提供)
shury 發(fā)表于 2005-12-5 17:05:00
1)此題10分
對(duì)任意輸入的正整數(shù)N,編寫C程序求N!的尾部連續(xù)0的個(gè)數(shù),并指出計(jì)算復(fù)雜度。如:18!=6402373705728000,尾部連續(xù)0的個(gè)數(shù)是3。
(不用考慮數(shù)值超出計(jì)算機(jī)整數(shù)界限的問題)
2)此題10分
編寫一個(gè)C語言函數(shù),要求輸入一個(gè)url,輸出該url是首頁、目錄頁或者其他url
如下形式叫做首頁:
militia.info/
www.apcnc.com.cn/
https://www.cyjzs.comwww.greena888.com/
www.800cool.net/
https://hgh-products.my-age.net/
如下形式叫做目錄頁:
thursdaythree.net/greenhouses--gas-global-green-house-warming/
https://www.mw.net.tw/user/tgk5ar1r/profile/
https://www.szeasy.com/food/yszt/chunjie/
www.fuckingjapanese.com/Reality/
請(qǐng)注意:
a) url有可能帶http頭也有可能不帶
b)動(dòng)態(tài)url(即含有?的url)的一律不算目錄頁,如:
www.buddhismcity.net/utility/mailit.php?l=/activity/details/3135/
www.buddhismcity.net/utility/mailit.php?l=/activity/details/2449/
另:如果你會(huì)linux,請(qǐng)用linux下的grep命令實(shí)現(xiàn)第2題的功能(附加5分)。
3)此題40分
如果必須從網(wǎng)頁中區(qū)分出一部分重要網(wǎng)頁(例如在10億中選8億),比其他網(wǎng)頁更值得展現(xiàn)給用戶,請(qǐng)?zhí)岢鲆环N方案。
4)此題40分
假設(shè)有10億網(wǎng)頁已經(jīng)被我們存下來,并提供如下信息:網(wǎng)頁全文(即網(wǎng)頁的源碼)、全文長(zhǎng)度、網(wǎng)頁正文(即網(wǎng)頁中提取的主體文字)、
正文長(zhǎng)度,以及其他網(wǎng)頁提取物等,現(xiàn)在希望去掉其中的重復(fù)網(wǎng)頁,請(qǐng)?zhí)岢隹尚械姆桨,?jì)算出每個(gè)網(wǎng)頁對(duì)應(yīng)的重復(fù)度,你可以自己
對(duì)網(wǎng)頁重復(fù)下定義,也可以提出需要哪些更多的網(wǎng)頁提取物來實(shí)現(xiàn)更好的去重復(fù)方案