题目

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

例如,如果输入如下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、顺时针打印矩阵相关推荐

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

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

  2. 剑指 Offer 29. 顺时针打印矩阵

    题目 剑指offer的解题思路 顺时针打印矩阵,可以分解为每次打印一个数,顺序是从左到右,从上到下,然后从右到左,从下到上. 打印每一圈的起点(startX,startY)分别为(0,0),(1,1) ...

  3. 打印矩阵 java_【Java】 剑指offer(29) 顺时针打印矩阵

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 思路 每次打印矩阵最外面的一圈(用方法printMatrix ...

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

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

  5. 剑指offer——29.顺时针打印矩阵(不熟)

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

  6. 【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 题意 输入一 ...

  7. 剑指offer 29 顺时针打印矩阵(可逆时针,任一点开始)

    原书上写的解太麻烦了,而且还没有扩展性(比如从右上角开始打印,或者逆时针打印). 此外多个for循环的起止点也让人头晕,每个方向都要单独判断步进方向,因此代码也缺少优雅性. 这里我用direction ...

  8. 【算法】剑指 Offer 29. 顺时针打印矩阵

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

  9. 剑指Offer(29)顺时针打印矩阵

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

  10. leetcode剑指 Offer 29. 顺时针打印矩阵

    一:题目 二:上码 class Solution {public:vector<int> spiralOrder(vector<vector<int>>& ...

最新文章

  1. SpringBoot 部署 Jar 文件,瘦身优化指南 !
  2. 这么写注释,老板会不会开除我?
  3. 【PM模块】维护处理简介
  4. 从源码角度看Android系统Zygote进程启动过程
  5. 关于Jquery EasyUI中的DataGrid服务器端分页随记
  6. Springboot应用中线程池配置教程(2021版)
  7. pytorch显卡内存随训练过程而增加_PyTorch重大更新:将支持自动混合精度训练!...
  8. 字典的增删改查 daty 5
  9. 一体打印机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. 关于数据分析师的4个你问我答,你曾有过这些困扰吗?
  11. matlab与焓湿图,excel与焓湿图的完美结合
  12. HttpClient忽略SSL证书,附带百度网盘jar包
  13. 尺度不变特征转换(Scale-invariant feature transform 或 SIFT)
  14. windows系统cab补丁安装方法
  15. oppo小布机器人_OPPO小布助手喜迎重大升级,你的私人全能管家现已上线!
  16. 微信屏蔽网址解决办法,如何实现被微信屏蔽的网址在微信内正常访问
  17. 前端笔记,table标签中td宽度不受控制的坑
  18. 服务器状态监控app,服务器/网站连接状态监控工具
  19. GitLab官网安全更新(2022-06-30)
  20. 2013年部分节假日安排

热门文章

  1. 【渝粤教育】国家开放大学2018年春季 0100-22T程序设计基础 参考试题
  2. 【渝粤教育】电大中专建筑力学 (3)作业 题库
  3. 【渝粤教育】电大中专审计原理与实务 (2)作业 题库
  4. [渝粤教育] 西南科技大学 公共组织财务 在线考试复习资料
  5. 【钢铁缺陷检测算法】数据探索
  6. Intellij IDEA 发布后的项目在哪里
  7. 东芝MCU实现位带操作
  8. intel32指令中文版
  9. FLEX中Tree默认展开全部节点
  10. 在软件开发中应用80:20原则