以矩阵对角线方式输出数字
给定一个N*N的矩阵,以矩阵对角线方式输出数字。
例如,N = 4,按照下面的方式输出数字。
算法分析
数字 1 所在的坐标(0,0)
数字 2 所在的坐标(0,1)
数字 3 所在的坐标(1,0)
数字 4 所在的坐标(0,2)
数字 5 所在的坐标(1,1)
数字 6 所在的坐标(2,0)
- 创建一个大小为n x n的矩阵,它将在打印前存储图案。
- 将元素存储在矩阵的上三角形中。正如上图所观察到的,行索引增加了1,列索引减少了1,因为向下移动对角线。
- 一旦上三角完成,则以与上三角相似的方式存储下三角的元素,即行索引增加1,列索引减少1。
算法设计
package com.bean.algorithm.matrix;
public class PrintNumbersinMatrixDiagonalPattern {
public static void printPattern(int n) {
// arr[][] 用于保存输出结果(对角线样式)
int arr[][] = new int[n][n];
int k, i, j, p = 1, f;
for (k = 0; k < n;