ホームページ  >  記事  >  バックエンド開発  >  イテレータを使用して螺旋行列を出力するための Python のアイデアとコード例

イテレータを使用して螺旋行列を出力するための Python のアイデアとコード例

WBOY
WBOYオリジナル
2016-07-22 08:56:351564ブラウズ

感想

スパイラル行列とは、最初の行から右に向かって数字が大きくなり、下に行くほど数字が大きくなる行列のことです。 左に行くほど大きくなり、上に行くほど大きくなります。
螺旋行列は、座標(x,y)、つまり(x軸座標,y軸座標)の2次元配列で表現されます。
時計回りの螺旋の方向は、->右、下、左、上です。数値式は、x プラス 1 グリッド (1,0)、y プラス 1 グリッド (0,1)、x マイナス 1 グリッド (-1) です。 、0)、y から 1 グリッドを引いた値 (0,-1)。
座標は (0,0) から歩き始め、範囲外になったり障害物に遭遇したりすると方向が切り替わります。
スパイラル行列を印刷するには、まず n*n 配列に値を割り当てる必要があります。ルールによれば、各レイヤーは右→下→左→の順に増加することがわかります。したがって、各層の最初の値が求まる限り、最初の値は前の層の最初の番号 + 4*n-4 になります。n はループするたびに 2 ずつ減少します。

コード
上記の分析の後、アイデアは非常に明確であり、1000 の単語はコードに値するものです。

リーリー

201672115457986.jpg (282×289)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。