求组合数合集,但每个子集与别的所有子集元素相同个数不大于X。
比如 n = 80 m = 5 X = 2
1,2,3,4,5与1,2,3,4,6 两个子集元素相同个数为3(2,3,4),大于X,所以只保存一个子集arr(1) = 1,2,3,4,5(一般保存第一个子集)。
4,5,6,7,8与arr(1)比对,元素相同个数2(4,5),小于X,arr(2) = 4,5,6,7,8
4,5,6,7,9与arr(1)和arr(2)比对元素,有元素相同个数是4的,大于X,不保存这个子集。以此类推~~~~~~
再例 n=100 m =6 X = 3
用所有组合数合集遍历比对太慢,80,5的就要几天,求大神有别的好方法吗???
比如 n = 80 m = 5 X = 2
1,2,3,4,5与1,2,3,4,6 两个子集元素相同个数为3(2,3,4),大于X,所以只保存一个子集arr(1) = 1,2,3,4,5(一般保存第一个子集)。
4,5,6,7,8与arr(1)比对,元素相同个数2(4,5),小于X,arr(2) = 4,5,6,7,8
4,5,6,7,9与arr(1)和arr(2)比对元素,有元素相同个数是4的,大于X,不保存这个子集。以此类推~~~~~~
再例 n=100 m =6 X = 3
用所有组合数合集遍历比对太慢,80,5的就要几天,求大神有别的好方法吗???