一,问题描述
微软面试题:将一个MxN的矩阵存储在一个一维数组中,编程实现矩阵的转置。
要求:空间复杂度为O(1)
二,思路分析
下面以一个4x2的矩阵A={1,2,3,4,5,6,7,8}进行分析,转置过程如下图:
图中右下角的红色数字表示在一维数组中的下标。矩阵的转置其实就是数组中元素的移动,具体的移动过程如下图:
我们发现,这些移动的元素的下标是一个个环,下标1的元素移动到4,下标4的元素移动到2ÿ
一,问题描述
微软面试题:将一个MxN的矩阵存储在一个一维数组中,编程实现矩阵的转置。
要求:空间复杂度为O(1)
二,思路分析
下面以一个4x2的矩阵A={1,2,3,4,5,6,7,8}进行分析,转置过程如下图:
图中右下角的红色数字表示在一维数组中的下标。矩阵的转置其实就是数组中元素的移动,具体的移动过程如下图:
我们发现,这些移动的元素的下标是一个个环,下标1的元素移动到4,下标4的元素移动到2ÿ