我想确定给定整数列表 {1,...,n} 的所有分区,其中分区的元素在 {1,Nmin,...,Nmax} 中具有特定的基数 k。
例如:给定整数列表 {1,2,3,4} 应确定所有分区,其中分区的元素具有 {1,Nmin=2,...,Nmax=3} 的基数,即P1 = {{1,2},{3,4}}, P2={{1,3},{2,4}}, P3={{2,3},{1,4}},P4 ={{1},{2,3,4}},P5={{2},{1,3,4}}, P6={{3},{1,2,3}}, P7={ {4},{1,2,3}}, P8={{1,2},{3},{4}}, P9={{2,3},{1},{4}}, P10 ={{3,4},{1},{2}}, P11={{1,4},{2},{3}}。
该函数应如下所示:
def detPartSpecSubSize(n: Int,Nmin: Int,Nmax:int) : List[List[List[Int]]] {
...
}
在上面的示例中,n = 4,Nmin=2 和 Nmax = 3,输出 P={P1,P2,...,P11}。
我想以递归的方式在Scala中做到这一点......