博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Algo] Print Matrix Diagonal 对角打印
阅读量:6464 次
发布时间:2019-06-23

本文共 614 字,大约阅读时间需要 2 分钟。

Print Matrix Diagonal

Print the matrix in diagonal way. For example:

1 2 3 45 6 7 8

Print:

12 56 34 78

双重循环

复杂度

时间 O(NM) 空间 O(1)

思路

总共需要打印的层数,是长度加宽度减去一。关键在于内层的row = i - j,而col = j

代码

private static void printDiagonal(int[][] matrix){    int m = matrix.length;    int n = matrix[0].length;    // 计算打印的层数    int lvl = m + n - 1;    for(int i = 0; i < lvl; i++){        for(int j = i; j >= 0; j--){            int row = i - j;            int col = j;            // 超过边界的点直接跳过            if(row >= m || col >= n) continue;            System.out.print(matrix[row][col]+" ");        }        System.out.println();    }}

转载地址:http://bjezo.baihongyu.com/

你可能感兴趣的文章
用GDB调试程序(三)
查看>>
DBV工具
查看>>
在数据仓库中存储数据失败
查看>>
lzg_ad:两个应用程序兼容组件宏说明
查看>>
SMS之SMS如何发现SMS客户机以及在客户端上装的软件
查看>>
Linux 系统下双机HA的实现所用的六个软件包
查看>>
Dimming the background.
查看>>
android之JNI开发步骤总结
查看>>
Redis安装
查看>>
基于pxe和kickstart批量安装centos6.5
查看>>
perl 求和
查看>>
zabbix(一)zabbix环境的搭建
查看>>
zabbix 安装 weathermap
查看>>
清除SVN版本控制文件
查看>>
Android 中文 API (29) —— CompoundButton
查看>>
CentOS6无法本地登陆,ssh远程登陆没问题
查看>>
android 实现透明状态栏
查看>>
误删除、误格式化数据灾难应急方案(WINDOWS平台)
查看>>
位运算技巧
查看>>
原型模式
查看>>