记录二维数组,即矩阵的多种遍历方式。有以下二维矩阵:
1、沿对角线向右上角遍历
如图方式遍历,沿对角线向右上角遍历。
按遍历的下标依次是:
第一轮遍历:(0,0),(1,1),(2,2),(3,3),(4,4)
第二轮遍历:(0,1),(1,2),(2,3),(3,4)
第三轮遍历:(0,2),(1,3),(2,4)
第四轮遍历:(0,3),(1,4)
第五轮遍历:(0,4)
设遍历的轮次为i,且对于任意一个被遍历的元素下标为(k, j),从上述遍历顺序看,有 j in [i, param[0].length),而 k in [0, param[0].length - i)。
实现代码如下:
public class Solution {
public static void main(String[] args) {
int[][] params = {
{1 ,2 ,3 ,4 ,5 },
{6 ,7 ,8 ,9 ,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}
};
int len = params[0].length;
for (int i = 0; i < params[0].length; i++){
int k = 0;
for (int j = i; j < len; j++){
System.out.print(params[k][j] + "\t");
k++;
}
System.out.println();
}
}
}
1 7 13 19 25
2 8 14 20
3 9 15
4 10
5
未完待续…