如何在两个列表之间生成一组所有可能的1-1映射。我希望每个映射都是唯一的,但我不太关心计算时间(蛮力可能很好)。列表可以是不同的大小,或者我们可以用空值填充较短的列表。
Example:
List A = [x, y] (or [x, y, null])
List B = [1, 2, 3]
Results would be something like:
[[1x,2y,3],
[1x,2,3y],
[1y,2x,3],
[1y,2,3x],
[1,2y,3x],
[1,2x,3y]]
有一种简单的方法(最好用Java)吗?列表可以是任何大小(和不同大小)。
由于
答案 0 :(得分:0)
您的预期输出基本上只是List A
与List B
的所有可能排列的组合。
listPermutations
input: list a , list b
list result
//add nulls to b until b reaches the length of a
extend(b , length(a))
for list p in permutations(b)
add(result , combine(a , p))
return result