Téléchargez simplement le code.
Les questions rencontrées dans le test en ligne de Tencent hier soir.
Une matrice en spirale fait référence à une matrice en spirale. Ses chiffres continuent de passer de la première ligne à droite, de la première ligne à droite, à partir de la baisse, à partir de la gauche, et de vers le haut, et du cycle de cette manière.
Importer java.util.scanner; classe publique mysnakeMatrix {private int n; // private int a [] []; // déclare une matrice private int value = 1; // la valeur du nombre dans la matrice publique mysnaKeMatrix (int i) {this.n = i; a = new int [n] [n] [n] [n];} // calculater le numéro dans la partie supérieure de la M- cordon du m- getCorner (int m) {int coin = 1; int o = n - 1; for (int i = 0; i <m - 1; ++ i) {coin + = 4 * o; o = o - 2;} return Corner;} // Le nombre de chaque côté de chaque couche de la matrice est généré // S représente 4 directions, prenant des valeurs 1, 2, 3, 4 respectivement, représentant 4 Directions différentes. // o Indique la valeur de départ de ce bord. // x représente le nombre de nombres à chaque bord du côté vide privé de la couche m-th (int s, int o, int x, int m) {int i = 0; int j = 0; switch (s) {cas 1: i = m - 1; j = m - 1; for (int k = 0; k <x; ++ k) {a [i] [j + k] = valeur; - 1 + x; pour (int k = 0; k <x; ++ k) {a [i + k] [j] = valeur; ++ valeur;} brisé; cas 3: i = m - 1 + x; j = m - 1 + x; for (int k = 0; k <x; ++ k) {a [i + k] [j] = valeur; ++; (int k = 0; k <x; ++ k) {a [i + k] [j] = valeur; ++ valeur;} cass x; + x; int o3 = o2 + x; int o4 = o3 + x; // System.out.println (o4); côté (1, o, x, m); côté (2, o, x, m); côté (3, o, x, m); Combien de couches il y a pour (int i = 1; i <= m; ++ i) {shell (i);} if (n% 2 == 1) {a [n / 2] [n / 2] = n * n;}} // imprimer la matrice void print () {pour (int i = 0; i <n; ++ i) {pour (int j = 0; (a [i] [j] <10) {System.out.print (a [i] [j] + "");} else {System.out.print (a [i] [j] + ");}} system.out.println ();}} public static static main (string args []) {mysnakematrix my = new mysnakatrix (new Scanner (System.in) .Nextint ()); // Utilisez le scanner pour obtenir une entrée de console my.snakeMatrix (); my.print ();}}Résumer
Ce qui précède est tout le contenu de cet article sur la programmation Java pour implémenter le code d'instance d'impression de la matrice en spirale, j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Java Language Description Structure de stockage et Code de matrice d'adjacence Exemple
Implémentation de programmation Java de la représentation de la matrice d'adjacence Exemple de code graphique dense
Programmation Java pour implémenter le code complet d'un algorithme *
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!