编程如下:

欢迎大家前来讨论~

public class PrintMatirx {
public static void main(String args[]) {
int arr[][] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
printZigMatrix(arr);
}

public static void printZigMatrix(int arr[][]) {
int row1 = 0;
int col1 = 0;
int row2 = 0;
int col2 = 0;
int helpR = arr.length - 1;
int helpC = arr[0].length - 1;
boolean dir = false;
/* 下面是来判断(row1,col1)点是往右方移动还是往下边移动,当col1 == helpC时,就要往下面移动了,下面同理 */
while (row1 <= helpR) {// 什么时候停止对角线遍历呢?当row > helpR时,说明已经遍历到底部了,就可以停止遍历了
printDiagonal(arr, row1, col1, row2, col2, dir);
if (col1 == helpC) {
row1++;
} else {
col1++;
}
if (row2 == helpR) {
col2++;
} else {
row2++;
}
dir = !dir;// 方向每次都调转一次
}
}

/* 按照对角线方向打印出矩阵的元素,因为是之字形,所以要定义一个标志dir来使其一次往右上方打印,一次往左下方打印 */
public static void printDiagonal(int arr[][], int row1, int col1, int row2, int col2, boolean dir) {
if (dir) {
while (row1 <= row2) {// 打印停止的判断:row1 <= row2的时候,可以继续往下打印,当row1 > row2时,停止打印,下面也是同理
System.out.print(arr[row1++][col1--] + " ");// 怎么做到往对角线打印,可以通过row++同时col--来实现
}
} else {
while (row2 >= row1) {
System.out.print(arr[row2--][col2++] + " ");
}
}
}

}

“之”字形打印矩阵~相关推荐

  1. 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)

    1."之" 字形打印矩阵 [题目] 给定一个矩阵matrix, 按照"之" 字形的方式打印这个矩阵, 例如: 1 2 3 4 5 6 7 8 9 10 11 1 ...

  2. “之“字形打印矩阵(Java)

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...

  3. 算法入坑——之字形打印矩阵

    题目: 之字形打印矩阵 难度: 低 对于一个矩阵,请设计一个算法,将元素按"之"字形打印.具体见样例. 给定一个整数矩阵mat,以及他的维数nxm,请返回一个数组,其中元素依次为打 ...

  4. 矩阵的“之”字形打印

    2019独角兽企业重金招聘Python工程师标准>>> 题目:给定一个矩阵matrix, 按照"之"字形的方式打印这个矩阵 例子: 1   2   3   4 5 ...

  5. 剑指offer:面试题29. 顺时针打印矩阵

    题目:顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9 ...

  6. 【剑指offer】顺时针打印矩阵

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26053049 剑指offer上的第20题,九度OJ上測试通过. 题目描写叙述: 输入一个矩 ...

  7. 剑指offer十九之顺时针打印矩阵

    一.题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...

  8. 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java

    <LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...

  9. 【剑指offer-Java版】20顺时针打印矩阵

    顺时针打印矩阵:重在理解,毕竟作者分析的那个方法看起来还是蛮复杂的-所以自己写了个接地气的方法 重在逻辑的一个题,一次性完全写对还是比较困难的 public class _Q20 {public vo ...

最新文章

  1. AcWing 2983. 玩具 / POJ 2318.toys(计算几何基础、二分、判断点和直线的位置关系)
  2. 2.RabbitMq-持久化
  3. python展开面_python面度对象(属性,类方法,静态方法)
  4. Ubuntu中update-alternatives命令(版本切换)
  5. 原创-互联网技术图谱
  6. 注册域名需要资格吗_考教师资格证需要居住证吗?
  7. 【原创】StreamInsight查询系列(三)——基本查询操作之过滤
  8. android 自定义 打包文件类型,Android设置apk打包文件名报错
  9. Silkroad 与 Tesseract 通信协议 QuestionModel
  10. MSYS2+MinGW32 编译 QEMU需做的准备工作
  11. 转 Django url 标签的使用
  12. nagios介绍及Server安装(二)
  13. Python3分别将list、numpy数组、变量内容写入txt文件中
  14. 考研英语二重要词汇整理
  15. STM32CubeMX | STM32F1系列HAL库读写内部FLASH
  16. 催眠曲用计算机怎么弹,在电脑中巧播“催眠曲”
  17. [解决方案]excel2010分析工具库无法运行“ FUNCRES.NLAM! Showatpdialog”宏
  18. 微信小程序消息订阅超详细流程步骤
  19. 配置org.springframework.scheduling.quartz.CronTriggerBean (转载)
  20. CSS进阶式-附加样式

热门文章

  1. c# contains_清单 .Contains()方法,以C#为例
  2. 再见 Postman!Apifox 才是 YYDS!
  3. 再见 Spring Task,这个定时任务框架真香!
  4. 丘处机《摄生消息论》(转)
  5. 十、华为鸿蒙HarmonyOS应用开发之Java UI框架、常用TabList组件使用
  6. Yolov4训练自己的数据集
  7. 切割图形_泉州泡沫景观字切割机厂家
  8. IDEA部署Tomcat报错[RMI TCP Connection(6)-127.0.0.1]
  9. 电脑显示器闪屏_Win7系统电脑显示器屏幕闪屏的解决办法
  10. linux docker安装svn,使用docker镜像搭建svn+Apache环境