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

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]
示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:[1,2,3,4,8,12,11,10,9,5,6,7]

限制:

0 <= matrix.length <= 100
0 <= matrix[i].length <= 100

代码:

class Solution {

public int[] spiralOrder(int[][] matrix) {

int m = matrix.length;

if(m==0)

{

int nums[] = new int[m];

return nums;

}

int n = matrix[0].length;

int nums[] = new int[m*n];

if(matrix.length==0)

{

return nums;

}

int k =0,count=0;

while(count<m*n)

{

for(int i=k;i<matrix[0].length-k;i++)

{

nums[count++]=matrix[k][i];

}

if(count==m*n) break;

for(int i=k+1;i<matrix.length-k;i++)

{

nums[count++] = matrix[i][matrix[0].length-k-1];

}

if(count==m*n) break;

for(int i=matrix[0].length-k-2;i>=k;i--)

{

nums[count++] = matrix[matrix.length-1-k][i];

}

if(count==m*n) break;

for(int i=matrix.length-2-k;i>k;i--)

{

nums[count++] = matrix[i][k];

}

if(count==m*n) break;

k++;

}

return nums;

}

}

【剑指offer】面试题29:顺时针打印矩阵(Java)相关推荐

  1. 剑指offer面试题29. 顺时针打印矩阵(边界问题)

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 思路 详见链接 代码 class Solution:def spiralOrder(self, matrix:[[int]]) ...

  2. 剑指offer面试题[20]-顺时针打印矩阵

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

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

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

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

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

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

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

  6. (补充)【打印1到最大的n位数】剑指offer——面试题12:打印1到最大的n位数

    剑指offer--面试题12:打印1到最大的n位数 此题在牛客网上没有OnlineJudge,在此补充两种做法. 参考网址:https://blog.csdn.net/yanxiaolx/articl ...

  7. 剑指offer——面试题29:数组中出现次数超过一半的数字

    剑指offer--面试题29:数组中出现次数超过一半的数字 Solution1: 20180902日整理 注意几点: 1.若下一个数字和我们之前保存的数字相同,则次数 +1 2.若下一个数字和我们之前 ...

  8. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

    <LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...

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

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

  10. 剑指offer面试题[29]-数组中出现次数超过一半的数字

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

最新文章

  1. 人群分析综述--Crowd Scene Understanding from Video: A Survey
  2. INVALID_HANDLE_VALUE的意思和用法
  3. auto_ptr使用介绍
  4. JVM堆GC回收次数
  5. NASM 中 SECTION 的默认对齐
  6. 迅捷路由连接服务器未响应,迅捷路由器通过falogin.cn登录不了管理界面的解决办法...
  7. vue中v-for的使用
  8. 【ACR2015】依那西普按需维持治疗策略有效抑制RA骨破坏进展
  9. Catalan数应用
  10. 送书 | 人类细胞图谱计划发起人Aviv Regev博士讲单细胞基因组学
  11. Hibernate Session merge,update,save,saveOrUpdate,persist
  12. 使用MbrFix.exe修复MBR分区表
  13. Redis所需内存 超过可用内存怎么办
  14. K8S实战之部署java应用
  15. codeforces round #257 div2 C、D
  16. Spark文本文件输入输出
  17. Python 基于OpenCV+face_recognition实现人脸捕捉与人脸识别(照片对比)
  18. Gossip 协议简介
  19. 1436:数列分段II
  20. 写给学生看的系统分析与验证笔记(十二)——验证ω-正则属性(Verifying ω-regular properties)

热门文章

  1. ubuntu memcached php,如何在 Ubuntu 18.04 上安装 Memcached
  2. bakaxl启动器怎么导入整合包_bakaxl启动器加皮肤光影mod
  3. 执行计划 分析一条sql语句的效率 mysql_MySQL中一条SQL语句的执行过程
  4. 为了养成NLP卷王,我画了一张路线图
  5. 2016,你最不应该错过的热门技术文章
  6. java架构师进阶独孤九剑系列(一):数据结构与算法
  7. 论文浅尝 - IJCAI2020 | KGNN:基于知识图谱的图神经网络预测药物与药物相互作用...
  8. 翻译:Docker方式安装redmine
  9. 【TensorFlow】通过两个简单的例子实现反向传播
  10. SQL Server 2005: Constraints