【发布时间】:2021-11-08 02:37:17
【问题描述】:
我正在构建一个游戏,用户从符号列表中进行选择,然后确定这些选择是什么。
例子:
符号:[A、B、C、D、E、F、G]
用户选择 [B, F, G],这个代表数组 [0, 1, 0, 0, 0, 1, 1] 被保存到数据库中
当用户正确复制选择时,如果选择是唯一的,我希望能够奖励积分。
唯一我的意思是如果选择与所有以前的选择有足够的不同。 到目前为止,我考虑的是将用户的选择数组与所有以前的选择数组进行比较,并检查“方差”是否至少是某个 X 值
示例 以前的选择:
- [1, 1, 0, 0, 0, 0, 0]
- [0, 1, 0, 0, 0, 0, 0]
用户的选择: [0, 1, 0, 0, 0, 1, 1]
将用户的选择数组与之前的比较,找出有多少索引不同
1)
[0, 1, 0, 0, 0, 1, 1]
[1, 1, 0, 0, 0, 0, 0] ---- variance = 3
2)
[0, 1, 0, 0, 0, 1, 1]
[0, 1, 0, 0, 0, 0, 0] ---- variance = 2
对于 3 的最小方差 (X),此用户不会获得任何奖励积分 但是对于2,他确实
有没有更好的方法来思考和实施这个?
编辑
澄清一下。我将最小方差设置为 3。 因此,在计算出用户的规则与所有其他现有规则之间的方差后,如果找到的最小方差大于 3,则用户获得奖励积分,否则不奖励。
【问题讨论】:
-
哪种语言更适合您?也许您可以提及或标记
-
您可以检查布隆过滤器并可能实施修改版本llimllib.github.io/bloomfilter-tutorial 和youtu.be/-jiOPKt7avE
-
@mcvkr 我正在使用 Javascript,添加了标签。
-
“检查“方差”是否至少是某个 X 值” 似乎与 “对于 3 的最小方差 (X),此用户不' 没有得到任何奖励积分但是对于 2,他有”。我错过了什么?
-
@trincot 我做了一些编辑来澄清这一点
标签: javascript arrays algorithm