手机java浏览器 一道java面试题,20亿数字的文本排序,如何取前100?
一道java面试题,20亿数字的文本排序,如何取前100?既然是java题,这就是经典的topk问题。先取前100个数,建立一个最小堆,剩下的数依次从堆顶插入元素,同时调整堆。最后堆中的100个元素即
一道java面试题,20亿数字的文本排序,如何取前100?
既然是java题,这就是经典的topk问题。先取前100个数,建立一个最小堆,剩下的数依次从堆顶插入元素,同时调整堆。最后堆中的100个元素即为结果。空间复杂度为k,时间复杂度为nlogk