我正在構建一個配對系統,該系統應該創建兩個用戶之間的配對並在會議中安排它們。選擇是基於我很難找出的標準。標準是兩人之間不存在較早的比賽。從歷史上尚未存在的列表中生成對
我的輸入是包含電子郵件地址的大小爲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流看起來很有趣,可能是解決這個問題的一種方法,但是我很不幸很遺憾。這裏
所以在上面的例子中1:515是一個有效的輸出(並且許多其他對也是有效的......)? – Amit
那麼如果兩個用戶有前一對,他們現在更可能成對呢?或更少? –
所以如果之前發生過這種情況,它不會再發生。 –