在这个问题:Intel SandyBridge中,有一种方法可以“在矩阵中螺旋式地提取值”。但是,如果要求是空 n×m矩阵,则填充它以使其看起来像:
[
[ 1, 2, 3, 4,],
[12,13,14, 5,],
[11,16,15, 6,],
[10, 9, 8, 7,]
]
(所以上面是矩阵,给定一个4×4矩阵,其中包含所有0
s,现在填充这个矩阵,使它看起来像上面的矩阵。那么有没有像Looping in a spiral outside-in中的递归回答?(虽然我的关注点是:解决方案很优雅,但不是O(n*m)
)
答案 0 :(得分:0)
不是特别优雅,但是很容易跟踪你转向的下四个坐标(即,开始将元素放在不同的方向上)并在四个方向上循环。每次转弯时,用两个轴上矩阵中心的坐标1替换它(这是你角落下一个转弯的位置)并切换到下一个方向。