「任意数表」权重值任意数目录

時间::00来源于:IT技术性创作者:seo试验室网编阅读文章:79次「手机上版」 任意数表

.hutool.core.lang.WeightRandom;
.hutool.log.Log;
.hutool.log.LogFactory;
public class RandomUtil .hutool.core.util.RandomUtil {
 * 依据权重值目录转化成固定不动总产量的数字能量数组
 * @param weightList 权重值目录
 * @param total 任意目录数的总数
 * @param fuDong 波动指数值
 * @return
 public static T Map T, integer randomListFromWeight(List WeightRandom.WeightObj T weightList, Integer total, double fuDong) {
 if (!(fuDong 0 fuDong 1)) {
 throw new illegalargumentException("波动指数值务必在0~1中间");
 Map T, Integer result = new HashMap ();
 // 将权重值目录倒序排序,确保权重值高的优先选择赋值
 weightList.sort(new Comparator WeightRandom.WeightObj () {
 @Override
 pare(WeightRandom.WeightObj o1, WeightRandom.WeightObj o2) {
 if (o1.getWeight() o2.getWeight()) {
 return -1;
 } else if (o1.getWeight() o2.getWeight()) {
 return 1;
 } else {
 return 0;
 // 统计分析权重值总数
 double sumWeight = weightList.stream().map(WeightRandom.WeightObj::getWeight).reduce((a, b) - a + b).orElse(1.0 * weightList.size());
 // 测算均值权重值
 double avgWeight = sumWeight / weightList.size();
 // 测算均值值
 double avg = 1.0 * total / weightList.size();
 int before = 0;
 for (int i = 0; i weightList.size() - 1; i++) {
 // 具体值 = 均值值 * 权重值 / 均值权重值
 double countForWeight = avg * weightList.get(i).getWeight() / avgWeight;
 double min = before + countForWeight * (1 - fuDong);
 double max = before + countForWeight * (1 + fuDong);
 min = min total ? before : min;
 max = max total ? total : max;
 int after = min max ? (int) Math.round(RandomUtil.randomDouble(min, max)) : total;
 result.put(weightList.get(i).getObj(), after - before);
 before = after;
 // 最终一个的值
 result.put(weightList.get(weightList.size() - 1).getObj(), total - before);
 return result;

有关阅读文章

淘宝网商品被隐型被降权惩罚应该怎么办?有哪些方法修复权重值?

在许多情况下大家将会会发觉店面或是是商品的总流量降低了,并且还不断了降低的发展趋势,这类状况下,许多人要感觉莫名其妙其妙,自身近期都没有对店

ASO中评价权重值减少?从六个视角讲完这一难题

不管ASO人如何哀嚎评价的权重值怎样的在减少,都更改不上其是危害APP排行的要素之一。而有的ASO朋友却觉得,评价之途已尽,需关键从其他

淘宝网加入购物车物车和个人收藏有哪些差别?对店面权重值危害大吗

淘宝网加入购物车物车和个人收藏有哪些差别?现如今许多商家刚开始更高度重视加入购物车了,由于加入购物车危害到店面的众多层面,淘宝网加入购物车物车和个人收藏有哪些差别?对店面权

matlab转化成任意数的rand、randi和randn三种方式

matlab中有关任意数的造成有3种库涵数,下边大家看来看他们的方式: 1、rand(…) 它是转化成0~1中间(开环传递函数,不包括0和12个数

京东商城快车检索权重值飙涨法:刷屏霸词法

有开京东商城快车很强大的商家朋友,能够用自己的3个产品,持续占据某一词,PC端快车“产品优选”营销推广位。最好情况是,3个产品各自排在这

赞() 共享到:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://fkjzgwx.cn/ziyuan/4231.html