//待随机类
class Temp{
//名字
String name;
//权重
double wight;
public Temp(String name,double wight){
this.name=name;
this.wight=wight;
}
public double get() {
return wight;
}
}
public class Main {
private final static Random random = new Random();
private static String doSelect(Temp [] temps) {
int length = invokers.length;
double totalWeight = 0;
//数据每个对象权值是否一样标志,一样的话直接根据数组大小随机出一个返回
boolean sameWeight = true;
double lastWeight = -1;
double[] weightArray = new double[length];
//计算总权重,以及判断所有权重值是否一样,生成权重区间(每次叠加后的值放入数组)
for (int i = 0; i < length; i++) {
double weight = temps[i].get();
totalWeight += weight;
weightArray[i] = totalWeight;
if (sameWeight && i > 0 &&am
加权随机算法
最新推荐文章于 2023-09-16 06:36:50 发布