我正在构建一个配对系统,该系统应该在两个用户之间创建配对并将他们安排在会议中。选择是基于我很难弄清楚的标准。标准是这对之间不能存在较早的匹配。
我的输入是n
包含电子邮件地址的大小列表。这个列表应该被分成对。限制是该匹配以前没有发生过。
例如,我的列表将包含几个用户 ID
list = {1,5,6,634,533,515,61,53}
同时我有一个旧对存在的数据库表:
previous_pairs
---------------------
id date status
1 2016-10-14 12:52:24.214 1
2 2016-10-15 12:52:24.214 2
3 2016-10-16 12:52:24.214 0
4 2016-10-17 12:52:24.214 2
previous_pair_users
---------------------
id userid
1 1
1 5
2 634
2 553
3 515
3 61
4 53
4 1
解决这个问题的好方法是什么?我现在的测试解决方案是弹出两个随机用户并检查他们是否有以前的匹配。如果不存在匹配项,我会弹出一个新的随机数(如果可能)并将其中一个不正确的用户推回列表。如果两个人是最后一个,他们无论如何都会匹配。这对我来说听起来不太好,因为我应该根据我已经“现有”对的列表预测哪些匹配不会发生。
您对如何让我开始构建此程序有任何想法吗?Java 8 流看起来很有趣,可能是解决这个问题的一种方法,但不幸的是我对此很陌生。