题目

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下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]

解答

循环

行数m,列数n。不难发现这是一个循环

i = 0,   j++
j = n-1, i++
i = m-1, j--
j = 0,   i-- i = 1,   j++
j = n-2, i++
j = m-2, j--
j = 1,   i--

代码

class Solution {public:vector<int> printMatrix(vector<vector<int> > matrix) {int m = matrix.size(), n = matrix[0].size();int i = 0, j = 0, k = 0;vector<int> print;while(1){if(j == n - k) break;for(; j < n - k; j++)print.push_back(matrix[i][j]);i++; j--;if(i == m - k) break;for(; i < m - k; i++)print.push_back(matrix[i][j]);i--; j--;if(j < k) break;for(; j >= k; j--)print.push_back(matrix[i][j]);k++;i--; j++;if(i < k) break;for(; i >= k; i--)print.push_back(matrix[i][j]);i++; j++;}return print;}
};

19. 顺时针打印矩阵相关推荐

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

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

  2. 矩阵每一行重复_python:19.顺时针打印矩阵

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

  3. 19.顺时针打印矩阵

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

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

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

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

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

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

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

  7. php 顺时针打印矩阵,这题

    浅谈狄利克雷相关题目套路2021-03-25 21:58:20 啥都不知道,被yyc D爆了/kk 扔道题 P2714 四元组统计 乍一看,就想推式子,结果发现自己是个憨批 莫反就两条式子 考虑第二种 ...

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

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

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

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

最新文章

  1. linux下文本模式不能登录,图形可以登录
  2. 百度搜索资源平台添加自己的网站
  3. mysql 共享锁和排他锁 意向锁 记录锁 Gap Locks Next-Key Locks 插入意向锁介绍
  4. Python之父推荐!《Python 3网络爬虫开发实战》第二版!文末送签名版!
  5. python数据检索_python – Hachoir – 从组中检索数据
  6. Mysql Workbench中EER Diagram逆向生成表
  7. 14个非常棒的 JavaScript 游戏开发框架推荐
  8. ECharts力导向布局图增加滚动条
  9. SWT/JFace常用组件----容器类
  10. 打造自己的VC++ 6.0免安装简版
  11. 生产环境-linux-tomcat宕掉-乌龙事件
  12. 叠螺机_火锅底料加工车间废水离不开叠螺机应用
  13. Oracle 数据库安装教程(11g)
  14. DSP CCS5.5安装步骤
  15. 【转】Unity 对象池(Object Pooling)理解与简单应用
  16. itunes store服务中断_Apple目前正在经历App Store iTunes Store和Mac App Store的中断
  17. Codeforces Gym 100015F Fighting for Triangles 状态压缩DP
  18. 多多买菜代收被叫停?拼多多这样回应
  19. LSwarm:复杂城市场景下覆盖受限的大集群高效避碰(Swarm-2019)
  20. SpringBoot整合邮件发送

热门文章

  1. javabean和java类_java对象 POJO和JavaBean的区别
  2. oracle or 运算,Oracle Or子句
  3. apache在线升级yum_基于Redis实现在线游戏积分排行榜 - phyger
  4. centos7启动root账户_新手小白使用vm安装Linux系统centos7虚拟机详细教程
  5. python | while循环与for循环 | 循环嵌套 | pass通用类型,循环整体结束或开始下一轮循环
  6. oracle+gsm安装,针对Oracle的10G版本提升SCOTT为DBA脚本!
  7. 【已解决】抱歉,由于某种原因,PowerPoint 无法加载D:\mathtype\Office Support\64\MathType(PowerPoint 2016).ppam加载项。
  8. django和mysql
  9. 提升访问github.com网址的速度
  10. c/c++入门教程 - 3 职工管理系统 完整代码