1、随机选择算法。

要求是根据不同的权重值随机出现对应的气泡。
思路:
将所有的权重值相加,形成一个整体的区间[W1,W2],将每个权重都划分为小到子区间[w1,w2]。 每次做随机选择时,在整体的大区间[W1,W2]中随机选择一个数 s。查看s是在哪个子区间中就出现对应的气泡物体。

实现:(typeScript)

// 每一个东西的权重值,这里使用的数值来存储的const DreamType = [{name:"dianzan",type:"GoodDream",value:150,weight:1,},{name:"kaoshenghao",type:"GoodDream",value:100,weight:3,},{name:"dangao",type:"GoodDream",value:100,weight:3},{name:"lianggao",type:"GoodDream",value:50,weight:5,},{name:"kele",type:"GoodDream",value:20,weight:10,},{name:"zhawu",type:"BadDream",value:-50,weight:8},{name:"meiqiguan",type:"BadDream",value:-80,weight:4,},{name:"shaojiaodejianbing",type:"BadDream",weight:2,value:-100,}
]// 随机位置/**** @param arr 整个美梦泡泡配置数组* @param curIndex 当前截取的长度* @returns 返回当前长度内中weight的数值*///  获取数值private _getWeight(arr: Array<{ name: string; type: string; value: number; weight: number }>,curIndex: number): number {if (arr.length <= curIndex) {throw new Error("出入数值大于了当前的数值" + curIndex + "----arr.length:" + arr.length);}let weights: number = 0;arr.slice(0, curIndex + 1).forEach((item) => {weights += item.weight;});return weights;}private _createDreamBubbles(): void {let allWeight: number;allWeight = this._getWeight(DreamType, DreamType.length - 1);   //总的区间let num = Math.round(Math.random() * allWeight);   //生成随机数if (num >= allWeight - this._getWeight(DreamType, i)) {   //以此查找区间// TODO .... 这里就选着出来了}}

以上代码是有些案列。

根据权重做随机选择的算法相关推荐

  1. [528]. 按权重随机选择

    [528]. 按权重随机选择 题目 算法设计:加权随机取样 题目 传送门:528. 按权重随机选择 输入: ["Solution","pickIndex"] [ ...

  2. 随机数生成生成器和力扣按权重随机选择 528

    随机数生成生成器和力扣按权重随机选择 528 在linux下内核有个专门内核模块进行生成随机数 /dev/random 不是很精准 /dev/urandom 更精准 原理 是内核的一个模块,专门产生的 ...

  3. r与python做随机森林_随机森林算法入门(python)

    昨天收到yhat推送了一篇介绍随机森林算法的邮件,感觉作为介绍和入门不错,就顺手把它翻译一下. 目录 1 什么是随机森林 1.1 集成学习 1.2 随机决策树 1.3 随机森林 1.4 投票 2 为什 ...

  4. 在envi做随机森林_基于模糊孤立森林算法的多维数据异常检测方法

    引用:李倩, 韩斌, 汪旭祥. 基于模糊孤立森林算法的多维数据异常检测方法[J]. 计算机与数字工程, 2020, 48(4): 862-866. 摘要:针对孤立森林算法在进行异常检测时,忽略了每一条 ...

  5. 528. 按权重随机选择

    528. 按权重随机选择

  6. Dubbo中基于权重的随机算法

    转载自dubbo源码解析-LoadBalance dubbo的源码地址:https://github.com/alibaba/dubbo Dubbo中的RandomLoadBalance采用基于权重的 ...

  7. 随机算法python_在python中实现随机选择

    想从一个序列中随机抽取若干元素,或者想生成几个随机数. random 模块有大量的函数用来产生随机数和随机选择元素.比如,要想从一个序列中随机的抽取一个元素,可以使用random.choice() : ...

  8. 用程序算法做人生选择

    每年一到要找工作的时候,我就能收到很多人给我发来的邮件,总是问我怎么选择他们的 offer,去腾讯还是去豆瓣,去外企还是去国内的企业,去创业还是去考研,来北京还是回老家,该不该去创新工场?该不该去 t ...

  9. 快速排序(随机主元)、随机数生成和随机选择算法

    快速排序(朴素) #include<bits/stdc++.h> using std::cin; using std::cout; using std::endl; /*实际过程见算法笔记 ...

最新文章

  1. 提醒参加北京Tech.Ed2007会议并在九华山庄上网的朋友注意!
  2. JVM之方法区Mothed Area
  3. 【JQuery】JQuery学习笔记
  4. 《GO并发编程实战》—— 条件变量
  5. 一道企业shell编程实战题-看看谁能快速搞定
  6. openstack neutron(tap、qvb、qvo详解)(转)
  7. java认证框架_sa-token 一个的JavaWeb权限认证框架,强大、简单、好用
  8. mysql 5.1.3_1.1.1 MySQL5.5默认存储引擎的调整(3)
  9. Xml读取和写入以及新建
  10. 程序员们平时常逛的论坛
  11. 模2运算的加减乘除运算
  12. 深入浅出BP神经网络算法的原理
  13. unity 阳光插件_PR插件BeatEdit安装教程
  14. 期刊论文发表的格式详细介绍
  15. WifiRemoteStationManager中速率控制算法详解
  16. R语言之一元线性回归xt2.15
  17. PMP中各种图形解释和使用场景
  18. [计算机毕业设计]元学习方法的小样本图像分类算法
  19. [含lw+源码等]微信小程序考勤签到管理系统+后台管理系统[包运行成功]Java毕业设计计算机毕设
  20. bzoj 3157: 国王奇遇记3516: 国王奇遇记加强版

热门文章

  1. 电商API接口商品详情获取示例
  2. TGI用户群体显著性指数
  3. 夺命雷公狗—玩转SEO---18---索引
  4. 喷射字符·奇怪符号·手机复制难以删除·长串文字·很长的小尾巴·拖得很长·乱码·直播间弹幕·贴吧楼层ฏ้้้้้้้้้้้้้๎๎๎๎๎๎๎๎้้้้้้้้้้้้้๎๎๎๎๎๎๎๎้้้้้้้้
  5. php7 fmp模式
  6. 在面试一个游戏编程职位前,你需要知道的东西
  7. rtl8188cus编译
  8. JAVA常用框架系列教程之Spring(附视频)
  9. SpringMVC的数据校验
  10. PostgreSql处理Null与空字符串