【发布时间】:2022-01-20 18:38:16
【问题描述】:
我最近在一次模拟面试测试中遇到了这个问题(如下所述),但它仍然难倒我:
给定一个二维数组 A,从中生成一个按行排列的一维数组排列列表。
A = [
[1],
[5, 2],
[6]
]
Answer: [[1, 5, 2, 6], [1, 6, 5, 2], [5, 2, 1, 6], [5, 2, 6, 1], [6, 1, 5, 2], [6, 5, 2, 1]]
答案解释:我们正在对行进行排列,所以这就像为 [a,b,c] 生成排列,其中每个元素都是可能变化长度的一维数组。
我确信该解决方案涉及回溯,但每当我尝试实施它时,我最终都会得到 5 个以上的参数。我希望你们中的某个人能提供一个优雅的解决方案、伪代码或解释。
【问题讨论】:
-
生成索引的排列,然后计算出来
标签: algorithm structure array-algorithms