Menu
CoddyTech

常见的二维数组模式

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 8 课,共 59 课。

处理二维数组时,经常会遇到某些模式。识别这些模式可以帮助你更高效地解决问题。以下是几种常见模式:

对角线遍历

访问行索引等于列索引的元素(matrix[i][i]),就能得到主对角线。对于副对角线,行索引和列索引之和等于数组大小减 1(matrix[i][size - 1 - i])。

例如:

1  2  3
4  5  6
7  8  9

遍历主对角线(matrix[i][i]):1,5,9
遍历副对角线(matrix[i][size - 1 - i]):3,5,7

边界遍历

要遍历边界元素,你需要在遍历另一个索引时,保持一个索引不变(0 或 size - 1)。

要访问顶部边框,你需要固定行索引为 0,并遍历各列。

例如:

1  2  3  4
5  6  7  8
9 10 11 12

边界元素:1、2、3、4、8、12、11、10、9、5(除了 6 和 7)

challenge icon

挑战

简单

创建一个名为 printPatterns 的方法,它接收一个方形的二维整数数组(matrix)作为输入,并打印以下图案:

  1. 主对角线:打印行索引等于列索引的所有元素。
  2. 副对角线:打印行索引与列索引之和等于矩阵大小减 1 的所有元素。
  3. 边框:打印矩阵上、下、左、右边框的元素。

输出应如下所示:

Main Diagonal: 1 6 11 16 
Anti-Diagonal: 4 7 10 13 
Top Border: 1 2 3 4 
Bottom Border: 13 14 15 16 
Left Border: 1 5 9 13 
Right Border: 4 8 12 16

亲手试试

// 只在类内部编写代码。不要编写 main(),也不要在这个类外部编写任何代码。
class PrintPatterns {
    public static void printPatterns(int[][] matrix) {
        // 在这里编写你的代码
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器