题目:

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

代码实现:

void PrintMatrixInCircle(int** numbers, int columns, int rows, int start)
{int endX = columns - 1 - start;int endY = rows - 1 - start;// 从左到右打印一行for (int idx = start; idx <= endX; ++idx){int curNum = numbers[start][idx];std::cout << curNum << " ";}// 从上到下打印一行if (start < endY){for (int idx = start; idx <= endY; ++idx){int curNum = numbers[idx][endY];std::cout << curNum << " ";}}// 从右到左打印一行if (start < endX && start < endY){for (int idx = endX - 1; idx >= start; --idx){int curNum = numbers[endY][idx];std::cout << curNum << " ";}}// 从下到上打印一行if (start < endX && start < endY - 1){for (int idx = endY - 1; idx >= start + 1; --idx){int curNum = numbers[idx][start];std::cout << curNum << " ";}}}void PrintMatrixClockWisely(int** numbers, int columns, int rows)
{if (nullptr == numbers || columns <= 0 || rows <= 0) return;int start = 0;while (columns > start * 2 && rows > start * 2){PrintMatrixInCircle(numbers, columns, rows, start);++start;}
}

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

  1. 【剑指offer-Java版】20顺时针打印矩阵

    顺时针打印矩阵:重在理解,毕竟作者分析的那个方法看起来还是蛮复杂的-所以自己写了个接地气的方法 重在逻辑的一个题,一次性完全写对还是比较困难的 public class _Q20 {public vo ...

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

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

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

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

  4. 剑指offer——面试题20:顺时针打印矩阵

    剑指offer--面试题20:顺时针打印矩阵 Solution1: 可参考leetCode 54题的解法 书上的思路特别好,学习之~ class Solution { public:vector< ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. ASP.NET Core重写个人博客站点小结
  2. Struts快速入门
  3. DataReader类访问字段的值
  4. 【flink】RocksDB介绍以及Flink对RocksDB的支持
  5. 中南大学工商管理考研考情与难度、参考书及上岸前辈备考经验
  6. gitlab . pre-receive hook declined
  7. wps表格错开半行_word表格错开半行-Excel 表格上下怎么错位!
  8. 为什么手机打电话的时候不能同时上网?
  9. html页面中常见的特殊符号,收集的web页面html中常用的特殊符号大全
  10. win10卸载软件_【电脑软件】win10自带浏览器|教你一招,如何完美将它卸载!
  11. 当大数据遇到保险:传统精算模型将被颠覆
  12. 《Effective C++》读书笔记 条款40:明智而审慎地使用多重继承
  13. canoe 分析log_CANoe教程 | 分析功能-Trace窗口
  14. unity EZ Replay Manager 1.53
  15. AndroidStudio 弹出的Safe Delete 安全删除功能是什么
  16. windows自带应用变成灰色解决方案
  17. python+django大学生心理健康测试咨询网站
  18. 红海已现 透视2014国内公有云市场
  19. oracle 性能优化培训,Oracle性能优化培训
  20. 公司产品太多了,怎么实现一次登录产品互通?

热门文章

  1. 第二十四课、布局管理器(三)
  2. 不要争了!技术选择没那么重要
  3. 酷客多小程序DIY体系全面升级,还加入了这些新功能
  4. Model to Text工具Acceleo使用教程(六)——模板服务
  5. 11.文件与文件系统的压缩与打包
  6. 97. PATH_SEPARATOR 和 DIRECTORY_SEPARATOR
  7. 20. Window moveBy() 方法
  8. 28. git 常用命令
  9. php syslog服务器,Linux Syslog日志服务器的搭建
  10. vue-cli webpack浅析