] [Matrice spirale LeetCode 54. Spiral Matrix (Medium) (JAVA)

] [Matrice spirale LeetCode 54. Spiral Matrix (Medium) (JAVA)

Sujet Adresse: https://leetcode.com/problems/spiral-matrix/

Description du sujet:

Etant donné une matrice d'éléments de mxn (m lignes, n colonnes), le retour de tous les éléments de la matrice dans l'ordre spirale.

Exemple 1:

Input:
[
 [ 1, 2, 3 ],
 [ 4, 5, 6 ],
 [ 7, 8, 9 ]
]
Output: [1,2,3,6,9,8,7,4,5]

Exemple 2:

Input:
[
  [1, 2, 3, 4],
  [5, 6, 7, 8],
  [9,10,11,12]
]
Output: [1,2,3,4,8,12,11,10,9,5,6,7]

Sous réserve de l'effet

Etant donné une matrice mxn d'éléments (m rangée, n-colonne), suivre un ordre hélicoïdal dans le sens horaire, les retours de tous les éléments dans la matrice.

approche de résolution de problèmes

1, chaque cycle comprenant une droite, une partie inférieure en quatre parties supérieure gauche
2, les cas limites d'un traitement spécial

class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        List<Integer> res = new ArrayList<>();
        if (matrix.length == 0 || matrix[0].length == 0) return res;
        int len = Math.min(matrix.length, matrix[0].length);
        for (int i = 0; i <= (len % 2 == 0 ? len / 2 - 1 : len / 2); i++) {
            for (int j = i; j < matrix[0].length - i; j++) {
                res.add(matrix[i][j]);
            }

            for (int j = i + 1; j < matrix.length - i; j++) {
                res.add(matrix[j][matrix[0].length - 1 - i]);
            }

            for (int j = matrix[0].length - 1 - i - 1; j >= i && i < len / 2; j--) {
                res.add(matrix[matrix.length - 1 - i][j]);
            }

            for (int j = matrix.length - 1 - i - 1; j > i && i < len / 2; j--) {
                res.add(matrix[j][i]);
            }
        }
        return res;
    }
}

Lorsque l' exécution: 0 ms, battu 100,00% de tous les utilisateurs à soumettre en Java la
consommation de mémoire: 38,2 Mo, battre le 5,23% de tous les utilisateurs à soumettre en Java

Publié 81 articles originaux · a gagné les éloges 6 · vues 2290

Je suppose que tu aimes

Origine blog.csdn.net/qq_16927853/article/details/104776975
conseillé
Classement