插入和移位矩阵n * n

时间:2016-10-05 14:54:31

标签: algorithm

我有一个矩阵N * N.

我需要实现一个获取num 0/1的函数,将其插入矩阵并检查是否存在所有1的行/列。

插入需要按此顺序排列: 如果矩阵看起来像:

0 1 0
1 1 0 
0 0 0

我们现在插入1到矩阵看起来像:

1 0 1
0 1 1
0 0 0

现在我们插入0,所以矩阵看起来像:

0 1 0
1 0 1
1 0 0

我有意做到右移到矩阵,我将花费o(n ^ 2)时间。

还有另外一个想法来实现插入值(0/1)并检查行和列的所有1的函数吗?

谢谢!

1 个答案:

答案 0 :(得分:-1)

矩阵通常在内存中实现为数组,每个(x,y)位置索引为x*w + y,其中w是数组的宽度(x和{ {1}}从零开始。打印数组就像在每个y元素之后插入新行一样简单。

这使得插入w操作。只需将每个元素移动到数组中的一个位置。