import java.util.Date; public class HotArticleRank { /************ * 输入发贴时间,返回发贴时间距离1970.1.1的秒数 * @param Date dateTimes * @return */ private static long epoch_seconds(Date pubtimes) { return pubtimes.getTime() / 1000 - 1134028003; } /****** * 输入顶,踩,返回差值 * @param ups * @param downs * @return */ private static long score(long ups, long downs) { return ups - downs; } /****** * 计算热度值,输入顶,踩和发贴时间,返回热度值 * @param ups 文章顶的数量 * @param downs 文章踩的数量 * @param pubtimes 文章发布时间 * @return */ public static double getHotVal(long ups, long downs, Date pubtimes) { double hotrank = 0; long seconds = 0; long scorecount = 0; double order = 0; long signcount = 0; scorecount = score(ups, downs); seconds = epoch_seconds(pubtimes); //计算贴子的受肯定(否定)的程度,如果对某个贴子的评价,越是一边倒, //order就越大,但会趋于平缓。如果顶等于踩,则为0 order = Math.log10(Math.max(Math.abs(scorecount), 1)); signcount = (long) Math.signum(scorecount); //seconds越大,得分越高,即新帖子的得分会高于老帖子。 //它起到自动将老帖子的排名往下拉的作用。 hotrank = order + (signcount * seconds) / 45000; return hotrank; } }
Raddit算法Java实现
原创
©著作权归作者所有:来自51CTO博客作者hellooworld的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:Java正则反向引用
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java面试算法题:如何使用栈去实现队列
java面试算法题:如何使用栈去实现队列
出队 入栈 时间复杂度 -
java实现Astar算法 apriori算法java实现
0. 前言大家好,我是多选参数的程序员,一个正再 neng 操作系统、学数据结构和算法以及 Java 的硬核菜鸡。数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般)。这个坑以排序为开端,介绍了 7 种最经典、最常用的排序算法,分别是:冒泡排序、插入排序、选择排序、归并排序、快速排序、同排序、计数排序、基数排序。对应的时间复杂度如下所示:排序算法时间复杂度是否基于比
java实现Astar算法 java实现apriori算法 java实现递归下降分析 java经典算法 java贪心算法几个经典例子 -
a 算法java实现 java算法实例
这里是princeton搜集的算法课程Java示例。包括超过了100 Java个算法程序源码、Javadoc和测试数据。点击这里查看。
a 算法java实现 java 资源 算法 Java