0

在这个问题中:Looping in a spiral outside-in,有一种方法可以“在矩阵中以螺旋方式提取值”。但是如果要求是,给定一个的n × m 矩阵,填充它,使它看起来像:

[
  [ 1, 2, 3, 4,],
  [12,13,14, 5,],
  [11,16,15, 6,],
  [10, 9, 8, 7,]
]

(所以上面是矩阵,给定一个 4 × 4 矩阵,其中包含所有0s,现在填充这个矩阵,使其看起来像上面的矩阵。那么有没有像循环中的递归答案那样的方法螺旋由外而内?(虽然我也担心:该解决方案很优雅,但不是O(n*m)

4

1 回答 1

0

不是特别优雅,但很容易跟踪接下来要转弯的四个坐标(即,开始将元素放置在不同的方向)并在四个方向之间循环。每次转弯时,将其替换为两个轴上朝向矩阵中心的坐标 1(这是该拐角的下一个转弯位置)并切换到下一个方向。

于 2015-11-20T09:29:08.307 回答