首页 > 试题广场 > 顺时针打印矩阵
[编程题]顺时针打印矩阵
  • 热度指数:925581 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:
[[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]
示例1

输入

[[1,2],[3,4]]

输出

[1,2,4,3]
头像 牛客题霸
发表于 2020-05-29 15:26:23
精华题解 描述 这是一篇针对初学者的题解。知识点:矩阵难度:一星 题解 题目抽象:给一个二维矩阵,顺时针转圈打印矩阵。转圈是说:把矩阵最外层看成一个圈##方法一:转圈打印如果有个方法是顺时针转圈打印矩阵,那么我们可以先打印最外圈,然后再打印次外圈。如图:最外层为 [1 2 3 4 8 12 16 15 14 展开全文
头像 叫我皮卡丘
发表于 2019-08-13 11:04:56
【剑指offer】顺时针打印矩阵 --Java实现 题解 1. 分析 刷 LeetCode 看到的大神题解,感觉容易理解且好写简单来说,就是不断地收缩矩阵的边界定义四个变量代表范围,up、down、left、right 向右走存入整行的值,当存入后,该行再也不会被遍历,代表上边界的 up 加一, 展开全文
头像 Jackson_888
发表于 2019-12-10 12:28:06
这道题可以使用一种超简单且易理解的方法(包注释不超过20行):1.吸收第一行,并将第一行从矩阵中去掉,2.将矩阵“变相转置”(这里的转置可以理解为将矩阵从地上立起来,比如矩阵是【【1,2,3】, 【4,5,6】】 将它“变相转置”(立起来)为 【【3,6】,【2,5】,【1,4】】 )3.重复以上 展开全文
头像 中工升达预备毕业生
发表于 2019-10-05 21:51:23
很扎心,看了一会讨论和题解,没看到一个用标记数组写的... 随便画图可知,走的方向dir有规律:向右->向下->向左->向上->向右->向下->向左->... 是一个圆圈 判断哪一步是否可以走,首先,它没越界;其次,它没被走过(vis标记数组,为false 展开全文
头像 一叶浮尘-测试咨询
发表于 2019-08-14 21:27:50
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 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. 看到这道题目刚开始觉得简 展开全文
头像 mars.Xyr
发表于 2020-04-10 22:01:29
python大法:每次只取第一行数据,然后再把矩阵逆时针旋转90度 class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(self, matrix): # write code h 展开全文
头像 JokerC
发表于 2020-05-24 17:51:23
整个的循环过程可以分解成多个小过程来解决。可以拿一个9*10的矩阵来举例子:rowSize=9; colSize=10;具体可以分解为多少个环(过程)呢,取决于rowSize 和 colSize 的大小关系:Pos = rowSize > colSize ? (colSize - 1) / 展开全文
头像 Janebook2019
发表于 2019-08-14 17:10:59
Java 解题定义几个int变量,存储最小行、最大行、最小列、最大列行号、已存入List中的整数的个数(感觉会节约时间,比每次计算List的size);完成一行的循环,行号进行一次变化(最上方的行循环,对应最小行号加1;最下方的行循环,最大行号减去1);列循环同理。 import java.util 展开全文
头像 郭家兴0624
发表于 2019-08-10 17:31:02
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 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.思路1:顺时针打印就是 展开全文
头像 南宫雨雪
发表于 2020-02-01 21:08:12
问题分析:这道题我想的是第一步从左到右、第二步从上到下、第三步从右到左、第四步从下到上,然后再重复上面的步骤。import java.util.ArrayList;public class Solution { public ArrayList<integer> printMatr 展开全文
头像 cn_liz
发表于 2020-04-18 11:28:28
import java.util.ArrayList; public class Solution { public ArrayList<Integer> printMatrix(int[][] matrix) { ArrayList<Integer> 展开全文