【发布时间】:2015-05-12 23:54:33
【问题描述】:
我想返回一个数组,其中包含一组根据自定义频率随机分布的唯一元素。我的实际用例是根据这些图像的流行程度的定性加权来重复轮播图像。
例如假设我有 5 个带权重的元素:
一个,20% 乙,50% C, 80% D, 10%
我想写一个函数,给定一个长度,试图逼近一个序列,使得 C 出现的频率是 D 的 8 倍; D 出现的频率比 B 少 5 倍; A 的出现频率是 C 的三倍。
【问题讨论】:
-
你的百分比总和应该是 100 吗?
-
一种方法是说,对于每 10%,我在随机生成数字的域中插入 1 个数字。例如: A --> 1 or 2 , B --> 3 4 5 6 7, D --> 8 , C --> ... 根据准确度,您可以在域中为每 1% 添加 1 个数字, 5%、10%、...
-
旁注:如果您使用更常用的名称“随机加权分布”,您将获得所有新存在的语言的大量答案 :)
-
根据单张图片的受欢迎程度来改变单张图片的显示长度会不会更有效?比如显示 A 2 秒,B 5 秒,C 8 秒,D 1 秒?
标签: javascript arrays algorithm