螺旋行列

螺旋行列

中級

はじめに

古い森の近くにある小さな村には、森の奥深くに埋められた隠された宝物の伝説がありました。 何度も挑戦されてきましたが、これまで誰もそれを見つけることはできませんでした。 しかし、エララという名の若い探検家のおかげで、その状況が変わり始めます。 彼女は、宝物の場所を示す手がかりが書かれた古い文書を発見していました。 その手がかりをもとに、エララは宝物へと続く道を示す地図を描くことができました。

驚いたことに、その道は風変わりな時計回りの渦巻きを描いていました。 これまで誰も宝物を見つけられなかったのも、それもそのはずです。 地図を手に、エララは隠された宝物を見つけるための旅に出ます。

説明

与えられたサイズの正方行列を返してください。

行列は自然数で埋めます。左上の角にある1から始めて、時計回りに内側へ向かう渦の順に数を増やしていきます。次の例のようになります。

例

サイズ3のスパイラル行列

1 2 3
8 9 4
7 6 5

サイズ4のスパイラル行列

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

トラック固有の指示

出力は、u16の数値が並んだ平坦な配列であることを期待されています。これは、求められている正方配列(配列の配列)にデシリアライズされます。

// output
[1,2,3,8,9,4,7,6,5]
// =>
// [[1, 2, 3],
//  [8, 9, 4],
//  [7, 6, 5]]
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
WebAssembly Exercism

螺旋行列を始める準備はできましたか?

Exercismに登録すれば、87個の演習、そして本物の人間によるメンタリングとともに、WebAssemblyを学んでマスターできます。すべて無料です。