筆試收錄---百度[軟件工程師]

 


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

 

  1)此題10分 
  對任意輸入的正整數N,編寫C程序求N!的尾部連續0的個數,並指出計算複雜度。如:18!=6402373705728000,尾部連續0的個數是3。 
  (不用考慮數值超出計算機整數界限的問題) 
  
  2)此題10分 
  編寫一個C語言函數,要求輸入一個url,輸出該url是首頁、目錄頁或者其他url 
  如下形式叫做首頁: 
  militia.info/ 
  www.apcnc.com.cn/ 
  http://www.cyjzs.comwww.greena888.com/ 
  www.800cool.net/ 
  http://hgh-products.my-age.net/ 
  如下形式叫做目錄頁: 
  thursdaythree.net/greenhouses--gas-global-green-house-warming/ 
  http://www.mw.net.tw/user/tgk5ar1r/profile/ 
  http://www.szeasy.com/food/yszt/chunjie/ 
  www.fuckingjapanese.com/Reality/ 
  
  請注意: 
  a) url有可能帶http頭也有可能不帶 
  b)動態url(即含有"?"的url)的一律不算目錄頁,如: 
  www.buddhismcity.net/utility/mailit.php?l=/activity/details/3135/ 
  www.buddhismcity.net/utility/mailit.php?l=/activity/details/2449/ 
  
  另:如果你會linux,請用linux下的grep命令實現第2題的功能(附加5分)。 
  
  3)此題40分 
  如果必須從網頁中區分出一部分"重要網頁"(例如在10億中選8億),比其他網頁更值得展現給用戶,請提出一種方案。 
  
  4)此題40分 
  假設有10億網頁已經被我們存下來,並提供如下信息:網頁全文(即網頁的源碼)、全文長度、網頁正文(即網頁中提取的主體文字)、 
  正文長度,以及其他網頁提取物等,現在希望去掉其中的重複網頁,請提出可行的方案,計算出每個網頁對應的重複度,你可以自己 
  對網頁重複下定義,也可以提出需要哪些更多的網頁提取物來實現更好的去重複方案 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章