我正在构建一个智力游戏,很难解释,所以我举了一个例子。
我有一个单词列表(可以是无限的):
String myList[] = {"chair", "house", "ocean", "plane", "dog", "TV", "grass", "money" etc....}
现在是棘手的部分,我需要随机构建 4 个索引/单词对列表(每个列表具有相同的大小),但符合以下规则: 如果我选择一个数字,则与该数字匹配的单词仅出现在 2 个列表中。
例如,这是正确的:
List1:
1/chair
2/house
3/plane
4/grass
List2
1/chair
2/dog
3/plane
4/TV
List3:
1/ocean
2/house
3/money
4/TV
List4
1/ocean
2/dog
3/money
4/grass
例如:
如果我选择数字 3,则列表 3 和列表 4 与单词“money”匹配,列表 1 和 2 与单词“plane”匹配。总是必须有 2 个匹配列表(不能少,不能多)。它们应该由大量单词随机构建,因此当您选择数字时您无法猜测哪个列表将匹配。
我尝试用一个很好的简单的递归算法来做到这一点。但我严重失败了。
最佳答案
我解决这个问题的最初方法是
- 在宇宙中选择一个随机单词
- 将选定的单词分配给两个列表
- 不同,
- 未满
- 将随机单词存储在一组封闭单词中,以备再次选择时使用
- 冲洗并重复,直到所有列表都已满
关于java - 在不同列表中巧妙地构建对元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32063818/