
算法
伟仔NJ
这个作者很懒,什么都没留下…
展开
-
从海量数值中找出最大的N个元素的算法实现
本例要求 一个文件中存有海量(大小超过40W)Long类型数值,每个数值一行,且各不相同 堆内存大小4M 以最快方式找出海量数值中最大的前100个数值,限时2s以内 解题思路 首先,肯定不能将海量数据压入TreeSet中进行排序,这样会造成堆内存溢出。 首先想到的是,采用TreeSet,维护一个小顶堆,堆里只有k个元素,从而保证堆内存不溢出。然后将后面的元素压入堆中,基于TreeSet...原创 2018-06-11 11:18:59 · 660 阅读 · 0 评论 -
ForkJoin算法实现
要求 一个数组内有10万个30左右的数值(非零),要求计算这些值的乘积。 - 时间要求:2s - 堆内存大小:4m 实现方案 通过ForkJoin实现。 代码实现 import com.google.common.base.Joiner; import com.google.common.base.Splitter; import org.apache.commons.l...原创 2018-06-15 11:13:52 · 470 阅读 · 0 评论