题目描述:
有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。
给定一个二位数组arr及题目中的参数n,请返回结果数组。
测试样例:
[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4
返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]
题目比较简单,没啥可说的,找找规律就好,并没有使用DP相关算法
上源码:
public class MeiTuan2016TwoDimensionArrayPrint {
/**
* 有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。
给定一个二位数组arr及题目中的参数n,请返回结果数组。
测试样例:
[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4
返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]
*/
public static void main(String[] args) {
int[][] arr = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int m = 0;
int n = 3;
// int a= 0;
int b = 0;
for(int i = 0; i < 4; i++){
int a = 0;
b = n - i;
while(a>=0 && a <=3 && b <=3 && b>=0){
System.out.print(arr[a][b]+" ");
a++;
b++;
}
}
int c = 0;
for(int i = 1 ; i <= 3; i++){
c = i;
int d = 0;
while(c>=0 && c <=3 && d <=3 && d>=0){
System.out.print(arr[c][d]+" ");
c++;
d++;
}
}
}
}