java吧 关注:1,246,040贴子:12,721,483
  • 15回复贴,共1

一道笔试题求教

只看楼主收藏回复

假设有1万个文件,每个文件有一亿条信息,每行一条(32个整数),写出一个程序,求所有数字的中位数,任意编程语言,请问各位这道笔试题这道题怎么做,这么大数据旨在考查什么


IP属地:广东1楼2013-12-17 10:26回复
    顶一个,在线求大神指导


    IP属地:广东2楼2013-12-17 10:27
    回复
      排个序


      3楼2013-12-17 10:27
      收起回复
        西湖的水,我的泪,我情愿和你化作一团火焰,我不水啊~~啊啊!我不水啊~~啊啊!千年等一回~~~我不水啊~~啊啊!!


        来自Android客户端4楼2013-12-17 10:35
        收起回复
          西湖的水,我的泪,我情愿和你化作一团火焰,我不水啊~~啊啊!我不水啊~~啊啊!千年等一回~~~我不水啊~~啊啊!!


          IP属地:北京5楼2013-12-17 10:38
          回复
            o(n)解决。把所有文件从头读一遍,手头永远保留2个数字(因为总数是偶数),每读出一个新数,判断其是在手头数字的左还是右,然后酌情取留。所有数读完时,手头两个数的平均值就是中位数。


            IP属地:重庆来自Android客户端6楼2013-12-17 10:52
            收起回复
              把int的数据范围分成1万块,把所有数据分布到对应的块里面,然后数下,看看中位数在哪个块,再到这个块去查找


              IP属地:浙江来自Android客户端7楼2013-12-17 11:30
              回复