java吧 关注:1,254,494贴子:12,744,275

回复:字节面试一道topK没答出来,请教各位大佬

只看楼主收藏回复

建造频率表因为内存不够所以必须要舍弃一部分,如果知道舍弃的值在剩余数字中的频率一定小于当前频率表里的值?假如给的1亿个数里,有100个a,99个b,98个c……有100个数字出现频率大于1,其余99999900个数字出现频率都等于1,怎么分治保证那100个数字不会被舍弃掉?如果不能把中间过程放进文件缓存的话。


IP属地:广东来自Android客户端36楼2021-05-13 03:40
收起回复
    RDD 先遍历成(数字,1)然后求和


    IP属地:北京来自Android客户端38楼2021-05-13 05:34
    回复
      外部排序


      IP属地:河北来自Android客户端40楼2021-05-13 09:38
      回复
        分块多线程?


        IP属地:河南来自Android客户端41楼2021-05-13 11:08
        回复
          百度一下大数据题目求解方案,里面有十几个套路解决这种问题


          IP属地:北京来自iPhone客户端42楼2021-05-13 11:45
          回复
            让他加钱


            IP属地:陕西来自Android客户端44楼2021-05-14 01:45
            回复


              IP属地:江苏来自iPhone客户端45楼2021-05-14 12:59
              回复
                lru算法,出现的放第一个,一直放,取前100个数就行


                IP属地:上海来自Android客户端46楼2021-05-14 18:59
                收起回复
                  这道题我做过 使用hash函数然后求余 对于余数相同的放大根根据算出现次数 然后排序 再用全局大根堆每次加入局部大根堆的堆顶元素


                  来自Android客户端47楼2021-05-14 20:55
                  收起回复
                    外部排序?


                    IP属地:河南来自iPhone客户端49楼2021-06-07 09:46
                    回复