我必须使用限制之间的随机数分配资源,比如 1 到 9。所以首先,我运行一个函数来获取 1 到 9 之间的随机数。然后我检查是否分配了任何资源,其索引等于随机数已生成的编号。如果它没有被分配资源,我分配它,否则我返回计算另一个随机数。它工作正常,但在某一点之后,效率会降低。当我达到分配 9 个资源中的 5 个或 6 个资源的程度时,我必须等待很长时间才能获得剩余的分配。我该如何优化呢?
这是算法:
- 获取资源。
- 生成一个随机数。
- 如果索引等于随机数的位置没有被分配资源,执行步骤4,否则执行5。
- 将资源分配到索引等于随机数的位置。
- 转到第 2 步。