可能重复:
矩阵的就地转置
最近参加了技术性书面访谈.通过以下问题得出结论.
我有一个阵列说
testArray = {a1,a2,a3,...an,b1,b2,b3,....bn,c1,c2,c3,.....,cn}
Run Code Online (Sandbox Code Playgroud)
我需要将这个数组排序为`
testArray = {a1,b1,c1,a2,b2,c2,a3,b3,c3,.....,an,bn,cn}
Run Code Online (Sandbox Code Playgroud)
约束是我不应该使用额外的内存,不应该使用任何内置函数.应该编写完整的代码,它可以是任何语言,也可以使用任何数据结构.
例如:
Input: {1,2,3,4,5,6,7,8,9}, n = 3
Output: {1,4,7,2,5,8,3,6,9}
Run Code Online (Sandbox Code Playgroud)
我无法在约束内得到任何解决方案,任何人都可以提供解决方案或建议吗?
例如:数组
a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3
Run Code Online (Sandbox Code Playgroud)
代表下表
a1, b1, c1, d1
a2, b2, c2, d2
a3, b3, c3, d3
Run Code Online (Sandbox Code Playgroud)
现在我想把阵列带到下面的表格中
a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3
Run Code Online (Sandbox Code Playgroud)
是否存在算法,它将数组(来自第一种形式)和表的维度作为输入参数并将数组转换为第二种形式?我认为一个算法不需要分配额外的内存,相反我认为应该可以通过元素交换操作来完成这项工作.