n
我需要为所有可能的文档排名生成可能的排名。我知道数组的排列{1, 2,..., n}
会给我所有可能的排名。我的问题有点复杂,因为每个文档都可能采用两种可能类型中的一种。因此,总共有 n!*2 n 个可能的排名。
例如,假设我有 3 个文档 a、b 和 c。那么可能的排名如下:
a1 b1 c1
a1 b1 c2
a1 b2 c1
a1 b2 c2
a2 b1 c1
a2 b1 c2
a2 b2 c1
a2 b2 c2
a1 c1 b1
a1 c1 b2
a1 c2 b1
a1 c2 b2
a2 c1 b1
a2 c1 b2
a2 c2 b1
a2 c2 b2
b1 a1 c1
b1 a1 c2
b1 a2 c1
b1 a2 c2
b2 a1 c1
b2 a1 c2
...
生成此类排名的优雅方法是什么?