Java 生成螺旋矩阵:代码示例和解释
这篇文章展示了使用 Java 代码生成螺旋矩阵的示例,并详细解释了代码逻辑。代码适用于所有整数输入,可生成任意大小的螺旋矩阵。\n\njava\npublic class SpiralMatrix {\n public static int[][] generateMatrix(int n) {\n int[][] matrix = new int[n][n];\n int num = 1;\n int rowStart = 0, rowEnd = n - 1;\n int colStart = 0, colEnd = n - 1;\n \n while (rowStart <= rowEnd && colStart <= colEnd) {\n // 向右填充\n for (int i = colStart; i <= colEnd; i++) {\n matrix[rowStart][i] = num++;\n }\n rowStart++;\n \n // 向下填充\n for (int i = rowStart; i <= rowEnd; i++) {\n matrix[i][colEnd] = num++;\n }\n colEnd--;\n \n // 向左填充\n if (rowStart <= rowEnd) {\n for (int i = colEnd; i >= colStart; i--) {\n matrix[rowEnd][i] = num++;\n }\n rowEnd--;\n }\n \n // 向上填充\n if (colStart <= colEnd) {\n for (int i = rowEnd; i >= rowStart; i--) {\n matrix[i][colStart] = num++;\n }\n colStart++;\n }\n }\n \n return matrix;\n }\n \n public static void main(String[] args) {\n int[][] matrix = generateMatrix(4);\n \n // 打印矩阵\n for (int i = 0; i < matrix.length; i++) {\n for (int j = 0; j < matrix[0].length; j++) {\n System.out.print(matrix[i][j] + " ");\n }\n System.out.println();\n }\n }\n}\n\n\n运行结果:\n\n\n1 2 3 4 \n12 13 14 5 \n11 16 15 6 \n10 9 8 7 \n\n\n这是一个生成4x4螺旋矩阵的示例,可以根据需要修改generateMatrix方法的参数来生成不同大小的螺旋矩阵。
原文地址: https://www.cveoy.top/t/topic/pkOz 著作权归作者所有。请勿转载和采集!