【剑指offer】29、顺时针打印矩阵
题目
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,
例如,如果输入如下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.
思路
定下3个点,则做四次循环
1、start -> endX
2、start+1 -> endY
3、endY-1 -> start
4、endY -> start - 1
取x为cols,rows中较小的,每做4次循环,x = x - 2
当 x > 0,循环才进行
start | . | . | . | endX |
. | . | . | ||
. | . | . | ||
. | . | . | ||
. | . | . | endY |
class Solution { public:vector<int> printMatrix(vector<vector<int> > matrix) {vector<int> res;int row=matrix.size();//行数int col=matrix[0].size();//列数int x = min(row, col), start = 0;while ( x > 0){int endX = col - 1 - start;int endY = row - 1 - start;for (int i = start; i <= endX; i++)res.push_back(matrix[start][i]);if( start < endY){for (int i = start +1 ; i <= endY; i++)res.push_back(matrix[i][endX]);}if (start < endX && start < endY){for (int i = endX - 1; i >= start; i--)res.push_back(matrix[endY][i]);}if (start < endX && start < endY - 1){for (int i =endY - 1; i > start; i--)res.push_back(matrix[i][start]);}x = x - 2;start++;}return res;} };
转载于:https://www.cnblogs.com/shiganquan/p/9341341.html
【剑指offer】29、顺时针打印矩阵相关推荐
- 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java
<LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...
- 剑指 Offer 29. 顺时针打印矩阵
题目 剑指offer的解题思路 顺时针打印矩阵,可以分解为每次打印一个数,顺序是从左到右,从上到下,然后从右到左,从下到上. 打印每一圈的起点(startX,startY)分别为(0,0),(1,1) ...
- 打印矩阵 java_【Java】 剑指offer(29) 顺时针打印矩阵
本文参考自<剑指offer>一书,代码采用Java语言. 题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 思路 每次打印矩阵最外面的一圈(用方法printMatrix ...
- 【完整可运行代码】剑指 Offer 29. 顺时针打印矩阵
立志用最少的代码做最高效的表达 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2, ...
- 剑指offer——29.顺时针打印矩阵(不熟)
题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字 ...
- 【leetcode】剑指 Offer 29. 顺时针打印矩阵(shun-shi-zhen-da-yin-ju-zhen-lcof)(模拟)[简单]
链接 https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/ 耗时 解题:38 min 题解:10 min 题意 输入一 ...
- 剑指offer 29 顺时针打印矩阵(可逆时针,任一点开始)
原书上写的解太麻烦了,而且还没有扩展性(比如从右上角开始打印,或者逆时针打印). 此外多个for循环的起止点也让人头晕,每个方向都要单独判断步进方向,因此代码也缺少优雅性. 这里我用direction ...
- 【算法】剑指 Offer 29. 顺时针打印矩阵
1,概述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6
- 剑指Offer(29)顺时针打印矩阵
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...
- leetcode剑指 Offer 29. 顺时针打印矩阵
一:题目 二:上码 class Solution {public:vector<int> spiralOrder(vector<vector<int>>& ...
最新文章
- SpringBoot 部署 Jar 文件,瘦身优化指南 !
- 这么写注释,老板会不会开除我?
- 【PM模块】维护处理简介
- 从源码角度看Android系统Zygote进程启动过程
- 关于Jquery EasyUI中的DataGrid服务器端分页随记
- Springboot应用中线程池配置教程(2021版)
- pytorch显卡内存随训练过程而增加_PyTorch重大更新:将支持自动混合精度训练!...
- 字典的增删改查 daty 5
- 一体打印机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 关于数据分析师的4个你问我答,你曾有过这些困扰吗?
- matlab与焓湿图,excel与焓湿图的完美结合
- HttpClient忽略SSL证书,附带百度网盘jar包
- 尺度不变特征转换(Scale-invariant feature transform 或 SIFT)
- windows系统cab补丁安装方法
- oppo小布机器人_OPPO小布助手喜迎重大升级,你的私人全能管家现已上线!
- 微信屏蔽网址解决办法,如何实现被微信屏蔽的网址在微信内正常访问
- 前端笔记,table标签中td宽度不受控制的坑
- 服务器状态监控app,服务器/网站连接状态监控工具
- GitLab官网安全更新(2022-06-30)
- 2013年部分节假日安排