コードをアップロードするだけです。
昨夜のTencentのオンラインテストで遭遇した質問。
スパイラルマトリックスは、スパイラルマトリックスを指します。その数字は、最初の線から右へ、最初の線から右へ、下向きから、左から、そしてこの方法でサイクリングし続けます。
import java.util.scanner; public class mysnakematrix {private int n; // private int a [] []; // matrix private int value = 1; //マトリックスのパブリックマイスナケマトリックス(int i)の値の値(int i){this.n = i; a = new int thepruate forte the conder the conder getCorner(int m){int corner = 1; int o = n -1; // oこのエッジの開始値を示します。 // xは、m -stay層の各エッジの各エッジの数値の数を表します。プライベートボイド側(int s、int o、int x、int m){int i = 0; int j = 0; switch(s){case 1:i = m -1; j = m -1; -1 +x; for(int k = 0; k <x; ++ k){a [i +k] [j] = value; ++ value;} break; case 3:i = m -1 +x; j = m -1 +x; for(int k = 0; k <x; ++ k){a [i +k] [j] = m = j (int k = 0; k <x; ++ k){a [i +k] [j] = value; ++ value;}ブレーク;ケース3:i = m -1 +x; j = m -1 +x; x; ++ k){a -k] [j] = value; ++ break;} // m -th層プライベートボイドシェル(int m)// mはmth層を表します{int x = n -1-(m -1) * 2; // x + x; int o3 = o2 + x; int o4 = o3 + x; // system.out.println(o4); side(1、o、x、m); side(2、o、x、m); side(3、o、x、m); side(4、o、x、m);} //スネークマトリックスパブリックパブリックパブリックvoid snakematrix(){) (int i = 1; i <= m; ++ i){shell(i);} if(n%2 == 1){a [n / 2] [n / 2] [n / 2] [n / 2] [n / 2] [n * n;}} // print matrix public void print(){){for(int i = 0; i <n; + +i){int j = 0; j; j; (a [i] [j] <10){system.out.print(a [i] [j] + "");} else {system.out.print(a [i]] [j] + "); out.println();}} public static void main(string args []){mysnakematrix(mysnakemaTrix(new new new mysnakemaTrix) scanner(system.in).nextint()); //スキャナーを使用してコンソール入力my.snakematrix(); my.print();}}}要約します
上記は、Spiral Matrixインスタンスの印刷コードを実装するためのJavaプログラミングに関するこの記事のすべての内容です。すべての人に役立つことを願っています。興味のある友達は引き続きこのサイトを参照できます:
Java言語説明ストレージ構造と隣接マトリックスコードの例
Javaプログラミング隣接マトリックス表現の実装密度の高いグラフコードの例
*アルゴリズムの完全なコードを実装するJavaプログラミング
欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!