我有以下算法问题。
输入:数组A [1 ... n],整数m
我想提取长度在[2 ... m]范围内的所有可能的子数组,以便使用这些子数组我可以重新创建原始数组A.对子数组有以下约束:
输出:组成原始数组A
的子数组例如,我们有A [1 ... 4],m = 2 我们有以下子阵列,其索引为数组A:(1,2)(2,3)(3,4)(1,3)(1,4)(2,4)
阵列的构造可以使用组合(1,2)(3,4); (2,3)(1,4); (2,4)(1,3)等。
问题是如何有效地实现算法(如果有任何使用,请特别使用Java)?