输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

class Solution {public int[] spiralOrder(int[][] matrix) {int m = matrix.length;if(m == 0){return new int[0];}int n = matrix[0].length;int l = 0,r = n - 1;int t = 0,b = m - 1;int[] res = new int[m*n];int cur = 0;while(true){for(int i = l;i <= r;i++){res[cur++] = matrix[t][i];}if(++t > b){//越界break;}for(int i = t;i <= b;i++){res[cur++] = matrix[i][r];}if(--r < l){break;}for(int i = r;i >= l;i--){res[cur++] = matrix[b][i];}if(--b < t){break;}for(int i = b;i >= t;i--){res[cur++] = matrix[i][l];}if(++l > r){break;}}return res;}
}

执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户

内存消耗:43.2 MB, 在所有 Java 提交中击败了47.76%的用户

通过测试用例:27 / 27

Java顺时针打印矩阵相关推荐

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

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

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

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

  3. java程序输出88的0 1矩阵_《剑指Offer》Java实现--顺时针打印矩阵

    题目描述 输入一个矩阵,按照从外向里顺时针的顺序打印出每一个数字.测试用例如下图: 测试数组 思路分析 这道题目并不难,关键在于边界控制!每一层遍历均从左上角开始,逐层往里完成遍历. Java代码实现 ...

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

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

  5. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

    一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...

  6. 【算法刷题日记之本手篇】左右最值最大差与顺时针打印矩阵

    ⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[左右最值最大差]和[顺时针打印矩阵],展示语言java. 小贴士:本专栏所有题目来自牛客->面试刷题必用工具

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

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

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

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

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

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

最新文章

  1. 一个通俗易懂的HMM例子
  2. 从Java视角理解CPU缓存(CPU Cache)
  3. Oracle数据库的测试用户Scott的密码为什么是Tiger?
  4. malloc/free 和 new/delete
  5. python内存池机制_看过来啦!教你用Python进行内存管理
  6. 如何用r压缩列联表_压缩袋好用吗?哪个牌子比较好?如何选择真空压缩袋?羽绒服能用真空压缩袋吗?...
  7. SetDll把Dll文件注入到.exe应用程序中
  8. Oracle日期范围
  9. oracle 查询clob
  10. java字符流输出流_JAVA语言之IO流字符串输入输出流
  11. eclipse中新建JSP文件时的编码设置
  12. SQL的别名和SQL的执行顺序和SQL优化
  13. Hadoop1.0之集群搭建
  14. B站有哪些好的Java视频教程,看这篇就够了!
  15. Everything搜索_使用方法
  16. 【机器学习】PRC(PR曲线)
  17. cisco路由器基本实验之五 配置Loopback接口进行远程登录 (Boson NetSim)
  18. fuchsia中virtio 后端实现
  19. 局域网服务器文件夹隐藏,共享文件设置隐藏 隐藏共享文件夹的方法
  20. linux下删除空行的几种方法

热门文章

  1. oracle ebs 成批分配,oracle ebs经常性凭证及成批分配凭证
  2. 空降进阿里的 P10 都是什么人?
  3. 如何预防网站被挂黑链?
  4. 对标TensorFlow、PyTorch,中国自主的AI框架砸向开源生态
  5. vue里面nprogress的使用
  6. 湖南大学计算机与通信学院研究生,唐小勇
  7. macos10.15.xx使用winclone8安装win系统
  8. SONY PS SDK
  9. 《投资最重要的事》,一本巴菲特读了两遍的投资书
  10. 解决校园Dr客户端端口占用问题(2)