20. 顺时针打印矩阵
题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵:
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. 顺时针打印矩阵相关推荐
- 【剑指offer-Java版】20顺时针打印矩阵
顺时针打印矩阵:重在理解,毕竟作者分析的那个方法看起来还是蛮复杂的-所以自己写了个接地气的方法 重在逻辑的一个题,一次性完全写对还是比较困难的 public class _Q20 {public vo ...
- 剑指offer-面试题20.顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字.例如: 输入一个矩阵如下: 1 1 2 3 4 2 5 6 7 8 3 9 10 11 12 4 13 14 15 16 则依次打印 ...
- 剑指offer面试题[20]-顺时针打印矩阵
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...
- 剑指offer——面试题20:顺时针打印矩阵
剑指offer--面试题20:顺时针打印矩阵 Solution1: 可参考leetCode 54题的解法 书上的思路特别好,学习之~ class Solution { public:vector< ...
- 【剑指offer】顺时针打印矩阵
转载请注明出处:http://blog.csdn.net/ns_code/article/details/26053049 剑指offer上的第20题,九度OJ上測试通过. 题目描写叙述: 输入一个矩 ...
- 剑指offer十九之顺时针打印矩阵
一.题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...
- 【完整可运行代码】剑指 Offer 29. 顺时针打印矩阵
立志用最少的代码做最高效的表达 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2, ...
- php 顺时针打印矩阵,这题
浅谈狄利克雷相关题目套路2021-03-25 21:58:20 啥都不知道,被yyc D爆了/kk 扔道题 P2714 四元组统计 乍一看,就想推式子,结果发现自己是个憨批 莫反就两条式子 考虑第二种 ...
- 剑指offer:面试题29. 顺时针打印矩阵
题目:顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9 ...
- 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java
<LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...
最新文章
- ASP.NET Core重写个人博客站点小结
- Struts快速入门
- DataReader类访问字段的值
- 【flink】RocksDB介绍以及Flink对RocksDB的支持
- 中南大学工商管理考研考情与难度、参考书及上岸前辈备考经验
- gitlab . pre-receive hook declined
- wps表格错开半行_word表格错开半行-Excel 表格上下怎么错位!
- 为什么手机打电话的时候不能同时上网?
- html页面中常见的特殊符号,收集的web页面html中常用的特殊符号大全
- win10卸载软件_【电脑软件】win10自带浏览器|教你一招,如何完美将它卸载!
- 当大数据遇到保险:传统精算模型将被颠覆
- 《Effective C++》读书笔记 条款40:明智而审慎地使用多重继承
- canoe 分析log_CANoe教程 | 分析功能-Trace窗口
- unity EZ Replay Manager 1.53
- AndroidStudio 弹出的Safe Delete 安全删除功能是什么
- windows自带应用变成灰色解决方案
- python+django大学生心理健康测试咨询网站
- 红海已现 透视2014国内公有云市场
- oracle 性能优化培训,Oracle性能优化培训
- 公司产品太多了,怎么实现一次登录产品互通?