作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我必须使用介于 1 到 9 之间的随机数来分配资源。因此,首先,我运行一个函数来获取 1 到 9 之间的随机数。然后我检查是否已分配索引等于的任何资源到已生成的随机数。如果还没有分配资源,我分配它,否则我返回计算另一个随机数。它工作正常,但在某个点之后,效率会下降。当我到达分配了 9 个资源中的 5 个或 6 个资源时,我必须等待很长时间才能获得剩余的分配。我该如何优化它?
算法如下:
最佳答案
不是在循环内生成随机数,而是预分配一个包含索引和 shuffle 的数组那:
indices = [0, 1, 2, ..., n)
shuffle(indices)
for i := 0; i < n; i++ {
allocate(resource[i], indices[i])
}
关于algorithm - 使用随机数优化资源分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15336515/
我遇到的问题如下: 我几乎没有办公地点和具有不同能力(整数)的资源。 我想将所有资源分配到不同的办公地点,以找到最佳方式将它们几乎平均分配到各个地点,以便尽可能平衡所有办公地点的能力。需要牢记的几件事
我是一名优秀的程序员,十分优秀!