0

この質問:外側から外側へのスパイラルでループする には、「行列でスパイラル状に値を抽出する」方法があります。しかし、空のn × m 行列が与えられた場合、次のように入力するとどうなるでしょうか。

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

(したがって、上記の行列は、すべての s を含む 4 × 4 行列が与えられ、0上記の行列のように見えるようにこの行列を設定します。次に、らせん状にループする場合のような再帰的な答えのような方法はありますかoutside-in ? (私の懸念は、そのソリューションはエレガントですが、そうではありませんO(n*m))

4

1 に答える 1

0

特にエレガントではありませんが、次の 4 つの座標を追跡し (つまり、要素を別の方向に配置し始める)、4 つの方向を循環するのは簡単です。ターンに来るたびに、両方の軸のマトリックスの中心 (そのコーナーの次のターンがある場所) に向かう座標 1 に置き換えて、次の方向に切り替えます。

于 2015-11-20T09:29:08.307 に答える