Javascript 求解无重复组合的算法

Javascript 求解无重复组合的算法,javascript,algorithm,combinations,Javascript,Algorithm,Combinations,我正在寻找一种算法来解决这个问题 有6只兔子 共有6个孔: -在第一个洞里有一根黄色的胡萝卜 -第二种是橙色的胡萝卜 -第三种是蓝色的胡萝卜 -第四种是黄色的胡萝卜 -第五节是一个橙色的胡萝卜 -第六节是一个蓝色的胡萝卜 每只兔子只能吃一种胡萝卜(一种黄色、一种橙色和一种蓝色) 兔子必须三人一组进入洞里 找出重复次数较少的方式(如果兔子1与兔子2和3一起吃黄色胡萝卜,然后与兔子3和4一起吃蓝色胡萝卜,则视为重复,因为兔子1与兔子3相遇两次)你可以采取纸笔结合的方式,写出前三种胡萝卜/颜色的所有组

我正在寻找一种算法来解决这个问题

有6只兔子 共有6个孔: -在第一个洞里有一根黄色的胡萝卜 -第二种是橙色的胡萝卜 -第三种是蓝色的胡萝卜 -第四种是黄色的胡萝卜 -第五节是一个橙色的胡萝卜 -第六节是一个蓝色的胡萝卜

每只兔子只能吃一种胡萝卜(一种黄色、一种橙色和一种蓝色)

兔子必须三人一组进入洞里


找出重复次数较少的方式(如果兔子1与兔子2和3一起吃黄色胡萝卜,然后与兔子3和4一起吃蓝色胡萝卜,则视为重复,因为兔子1与兔子3相遇两次)

你可以采取纸笔结合的方式,写出前三种胡萝卜/颜色的所有组合,然后写出下一种

因此,您可以在一列中看到每个兔子的所有颜色

1 2 3 4 5 6    bunnies
a b c d e f    carrots


a b c          combinations at same time
  a b c
    a b c
      a b c
c       a b 
b c       a

d e f          basically the same as for a b c
  d e f
    d e f
      d e f
f       d e
e f       d

在分组之后,您现在可以编写一个算法了

那么您尝试了什么呢?我已经成功地在r(3)组中找到了这些k(6)元素的所有可能组合。我也设法消除了所有的重复,比如123321132,但我不知道如何找到最好的方法来减少重复次数,并实现让每只兔子吃每种胡萝卜的要求