algorithm - 横幅广告算法

标签 algorithm

我正在开发横幅广告系统。每个横幅都将存储在数据库中。每个横幅都会有一个 wight(int number)。我怎样才能有效地将其转换为百分比?

例如:

banner_1 70 banner_2 90 横幅_3 150

我想让横幅 1 显示 22% 第二个 29% 第三个 48%

最佳答案

如果权重是w[1], w[2], ..., w[n],那么百分比p[i] 第 i 个横幅广告是:

p[i] = w[i] / sum(w)

即给定广告的权重除以权重总和。您的数据库系统应该能够相当容易地进行计算。

如果您的广告相对较少,并且广告获得的浏览量比更新多得多,则可能值得为每个广告缓存此 p[i],然后在您添加、删除时重新计算它或修改广告的权重。

关于algorithm - 横幅广告算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4786607/

相关文章:

algorithm - 如何检测转码音频的生成丢失

algorithm - 多重图和最便宜的路径

algorithm - 从具有评级的人员列表中建立两人一组

algorithm - 二进制数的唯一排列

algorithm - 2-way Merge Sort 和归并排序

java - 插入 map 时按值保留顺序

algorithm - 如何找到给定十六进制的 xor key /算法?

java - 在某个数字 : Comparable smallestAfter(Comparable[] values, 之后查找最小数字可比较)

algorithm - 在邻接矩阵中找到一组彼此是单跳邻居的节点

java - 根据一个值对数字对进行排序 - Java