百度笔试题

  1)此题10分 
  对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。 
  (不用考虑数值超出计算机整数界限的问题) 
  
int countFactorialZero(int n)
{
    
int count=0;
    
for(int i=5;i<n;i+=5)
    {
        
int j=i;//注意不要直接用i
        while(j%5==0)
        {
            j
/=5;
            count
++;            
        }
    }
    
return count;
}
  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亿),比其他网页更值得展现给用户,请提出一种方案。 
   --------
//这个就是排序算法.Google的专利PageRank....
//PageRank,Google宣称有50万个参数....以下这些应该是比较主要的.

排序算法部分参考指标:

指标        加分        减分
网站硬件指标        网站网络好,系统稳定        网站系统不稳定,网络不好
网站包含网页数        总网页数目多        总网页数目少
网页大小        网页大小适中        网页多大或过小
其他网页链到本网页        数目多        数目少
网页内URL数        数目适中        过多或过少
网页相关性        URL连接网页是相关内容        URL连接网页不是相关内容
网页更新/生成日期        日期近的        日期远的
网页类型        静态网页        动态网页
网页内样式        网页设计样式中等        网页设计样式过于复杂或简单
网页具体内容        分词后,各个词权重总和高        分词后,各个词权重总和低
用户访问行为        点击多的网页        点击少的网页
  4)此题40分 
  假设有10亿网页已经被我们存下来,并提供如下信息:网页全文(即网页的源码)、全文长度、网页正文(即网页中提取的主体文字)、 
  正文长度,以及其他网页提取物等,现在希望去掉其中的重复网页,请提出可行的方案,计算出每个网页对应的重复度,你可以自己 
  对网页重复下定义,也可以提出需要哪些更多的网页提取物来实现更好的去重复方案 
--------------可以使用余弦定理来给每个网页建立一个有意义的hash,参考“ 余弦定理和新闻的分类”。进一步可参考数组的唯一性问题来处理,这个复杂度大概是NlogN的,但网页重复度应该怎么定义呢?
posted @ 2007-10-14 16:31  李现民  阅读(1681)  评论(0编辑  收藏  举报