题目描述

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

解题思路

    public ArrayList<Integer> printMatrix(int[][] array) {ArrayList<Integer> result = new ArrayList<Integer>();if (array.length == 0) return result;int n = array.length, m = array[0].length;if (m == 0) return result;int layers = (Math.min(n, m) - 1) / 2 + 1;//这个是层数for (int i = 0; i < layers; i++) {for (int k = i; k < m - i; k++) result.add(array[i][k]);//左至右for (int j = i + 1; j < n - i; j++) result.add(array[j][m - i - 1]);//右上至右下for (int k = m - i - 2; (k >= i) && (n - i - 1 != i); k--) result.add(array[n - i - 1][k]);//右至左for (int j = n - i - 2; (j > i) && (m - i - 1 != i); j--) result.add(array[j][i]);//左下至左上}return result;}

19.顺时针打印矩阵相关推荐

  1. 剑指offer(19): 顺时针打印矩阵

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

  2. 矩阵每一行重复_python:19.顺时针打印矩阵

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

  3. 19. 顺时针打印矩阵

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

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

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

  5. java程序输出矩阵_java编程题之顺时针打印矩阵

    本文实例为大家分享了java顺时针打印矩阵的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; /** * * 剑指offer编程题(JAVA实现)--第19题 ...

  6. 【完整可运行代码】剑指 Offer 29. 顺时针打印矩阵

    立志用最少的代码做最高效的表达 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2, ...

  7. php 顺时针打印矩阵,这题

    浅谈狄利克雷相关题目套路2021-03-25 21:58:20 啥都不知道,被yyc D爆了/kk 扔道题 P2714 四元组统计 乍一看,就想推式子,结果发现自己是个憨批 莫反就两条式子 考虑第二种 ...

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

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

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

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

最新文章

  1. Vim实战指南(一):基础编辑命令
  2. 理解 Kotlin 中的属性(property)
  3. 【安全漏洞】CVE-2021-42287CVE-2021-42278 域内提权
  4. Response.Redirect(),Server.Transfer(),Server.Execute()的区别
  5. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节7:缓冲区管理
  6. oracle for net,使用Oracle Developer Tools For Visual Studio .NET-.NET教程,数据库应用
  7. Greenplum元数据信息
  8. win10安装rqalpha开源回测框架
  9. jsp中EL表达式不好使
  10. 本田HR-V Sport官图发布 换装高功率1.5T发动机
  11. cmd格式化(重置)磁盘/U盘的操作流程
  12. H5的HTML怎么制作制作页面,如何制作H5长页面?长页面H5制作教程!
  13. 如何提高你的工作效率
  14. 无法安装冰点还原_系统还原软件介绍与功能
  15. python seo快排_流量贩子GoGo闯:SEO黑帽点击快排发包+Python应用软件编程技术
  16. 国产银河数学式电子计算机是属于,《世界上公认的第一台电子计算机.doc
  17. 手把手教你:图像识别的垃圾分类系统
  18. 计算机如何删除已连接的打印机驱动程序,怎么删除网上共享的打印机驱动程序...
  19. C/C++中#和##的宏以及进行“花里胡哨“的命名及其应用
  20. 什么是情商高?说你“情商低”的人,都是在控制你!如何提高情商?情商怎么提高?怎么提高情商 ?不会说话情商低怎么办?

热门文章

  1. html5 ins标签,HTML ins标签常用的用法有哪些?HTML ins常用属性的介绍
  2. 三坐标检测基础知识之坐标系2021
  3. Kibana Query Language(KQL)
  4. 在win11系统下安装,配置Java17
  5. linux cad 安装教程,如何在Ubuntu 18.04/16.04/Linux中安装FreeCAD 0.18
  6. 黑盒测试用例设计--题目3
  7. Python控制语句/循环语句
  8. 【STM32学习笔记1】Cortex-M3与STM32基本概念
  9. matlab三相变压器怎么设置,simulink变压器设置
  10. 计算机网络-1.计算机网络概述