题目: 之字形打印矩阵
难度:

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

测试样例:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],4,3
返回:[1,2,3,6,5,4,7,8,9,12,11,10]

**解题思路:**用其输出特点来解题,对于一个矩阵该题输出方式可理解为下标为偶数的行正向输出,下标为偶数的反向输出。与该题类似的题还有:旋涡型输出一个矩阵。这种题型千万不能按下标一个一个判断后输出。

该题的一个解

public class PrintMatrix {public static int[] printM(int[][] mat, int n, int m) {int[] arr1 = new int[n * m];int p = 0;for (int i=0; i<n; ++i) {// 如果是奇数行System.out.println(i%2);if(i%2==0) {int k = 0;while(k != m) {arr1[p++] = mat[i][k++];}}else {      // 偶数行int y = 0;while(y++!=m) {arr1[p++] =mat[i][m-y];}}}return arr1;}public static void main(String[] args) {int n = 4;        // n是行数int m = 3;int[][] arr = {{1,2,3}, {4,5,6},{7,8,9},{10,11,12}};int[] is = printM(arr, n, m);for (int i : is) {System.out.print(i+" ");}}}

算法入坑——之字形打印矩阵相关推荐

  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. “之”字形打印矩阵~

    编程如下: 欢迎大家前来讨论~ public class PrintMatirx { public static void main(String args[]) { int arr[][] = { ...

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

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

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

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

  6. 打印矩阵 java_【Java】 剑指offer(29) 顺时针打印矩阵

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 思路 每次打印矩阵最外面的一圈(用方法printMatrix ...

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

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

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

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

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

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

最新文章

  1. windows下载anaconda3速度太慢怎么办
  2. python开发要学哪些?
  3. C语言经典算法五个人问岁数!——————【Badboy】
  4. python闭包、装饰器
  5. redis部署架构总结
  6. OpenCV:OpenCV目标检测Hog+SWindow源代码分析
  7. ubantu 中配置Flash Player
  8. js如何保证iframe里的内容,显示在父窗口
  9. android组件化数据生命周期,Android组件化开发实践(七):开发常见问题及解决方案...
  10. 常见Sql面试题及答案
  11. Linux下C语言实现俄罗斯方块——详细版
  12. 软件multisim的安装教程
  13. 2020年CISP线下考试逐渐恢复啦
  14. 怎么压缩html的文件,css如何压缩?
  15. ENFJ型的人:什么样的人很适合人工智能方向
  16. 微信分享自定义图标大小限制_微信自定义分享限制分享
  17. 【SSRF技巧拓展】————8、微博某处SSRF可GET SHELL
  18. 2021年T电梯修理考试试卷及T电梯修理证考试
  19. SQL语言——联结表
  20. 【JAVA】堆、栈与方法区

热门文章

  1. 物业管理软件的全面集中化管理趋势
  2. 模拟商城添加、查看商品和添加商品到购物车、查看购物车
  3. 利用opencv画圆
  4. 解决Port xxxx was already in use 端口被占用问题
  5. 每日一敲(swtich语句)
  6. 用iperf 对CentOS下千兆网卡带宽测试
  7. 导入LRC歌词转换为SRT字幕,并添加到全部视频中
  8. 上海宝付大数据分析storm结合
  9. PB级区块链开源存储引擎“泓”Huge
  10. vue中给v-for循环出来的元素分别加样式