试题组合算法说明
red green blue
0 3 1 7
1 3 9 2
2 4 0 1
1. 最优算法
1.1 生成3个长度为10的数组(ArrayList)
red [0001112222]
green [0111111111]
blue [0000000112]
1.2 随机取出10个不重复的(ArrayList.remove())长度为3的数组
red green blue
[0 0 0]
[0 1 0]
[1 1 0]
[1 1 0]
[2 1 0]
[2 1 1]
[2 1 1]
[2 1 2]
1.3 从数据库中取出符合条件的不重复的( lid not in(...))随机记录(order by random() limit 1)
2. 较优算法
2.1 取出符合主要条件的随机记录
where red=0 order by random() limit 3
where red=1 order by random() limit 3
where red=2 order by random() limit 4
2.2 计算符合剩余条件的程度,多次循环获得最符合的记录。