mock probability with lottery
来源:互联网 发布:域名 购买 编辑:程序博客网 时间:2024/06/03 20:25
public class TestLottery {static int BASE_RANDOM_NUM=1000; private static int getProbabilityIndex(final List<Double> probabilityList){Map<Integer,Double> mapRates= calculateBaseProbability(probabilityList);int randomProbability=RandomUtils.nextInt(BASE_RANDOM_NUM);Set<Entry<Integer, Double>> sets=mapRates.entrySet();for(Entry<Integer, Double> entry:sets){if (entry.getValue() >= randomProbability && entry.getValue() <= BASE_RANDOM_NUM) {return entry.getKey();}}return -1;}private static Map<Integer,Double> calculateBaseProbability(final List<Double> probabilityList){Map<Integer,Double> mapRates=new HashMap<Integer, Double>();double sumProbability=0.0;int index=0;Iterator<Double> itor= probabilityList.iterator();while(itor.hasNext()){double probability=itor.next();if(probability>0){sumProbability+=probability;mapRates.put(index, sumProbability*BASE_RANDOM_NUM);}index++;}return mapRates;} public static List<Double> createDoubleList(){ List<Double> orignalRates=new ArrayList<Double>();orignalRates.add(0.0);orignalRates.add(0.0);orignalRates.add(0.6);orignalRates.add(0.3);orignalRates.add(0.1);return orignalRates; }public static void main(String[] args) {Map<Integer,Double> proMap=new HashMap<Integer, Double>();double sumCount=100000;List<Double> orignalRates=createDoubleList();for (double i = 0; i < sumCount; i++) {int index =getProbabilityIndex(orignalRates);if(proMap.containsKey(index)){proMap.put(index, proMap.get(index)+1.0);}else{proMap.put(index, 1.0);}}Set<Entry<Integer, Double>> setEntry=proMap.entrySet();for(Entry<Integer, Double> entry:setEntry){System.out.println( entry.getKey()+"("+entry.getValue()+")->rate:"+ entry.getValue()/sumCount);}}}
0 0
- mock probability with lottery
- Game with probability Problem
- Lottery
- Randow Id generator with array of probability
- bzoj2318 Spoj4060 game with probability Problem
- SPOJ 4060 A game with probability
- 【bzoj2318】 Spoj4060 game with probability Problem
- bzoj2318Spoj4060 game with probability Problem 期望DP
- 【bzoj2318】Spoj4060 game with probability Problem
- 概率DP Spoj4060 game with probability Problem
- Probability
- Probability
- Probability
- Probability
- Probability
- probability
- Probability
- Probability
- oracle 常用命令
- mongodb系列之-管理mongodb->db.currentOp()
- Unity调用其他函数
- mongodb系列之-mongodb gridfs分析(java应用)
- redis之初探
- mock probability with lottery
- Tensorflow学习(一)
- 分布式id生成器,互联网
- [置顶] mongodb系列之-解读journal
- #358 – 将RadioButton和枚举绑定(Binding a RadioButton to an Enumerated Type)
- 软件测试工程师基础技能+
- 请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法。
- 可以进行在线编程的网站
- 【NOIP 2011 Day1 T1】铺地毯(模拟)