顺时针打印矩阵
来源:互联网 发布:青岛知行国际图片 编辑:程序博客网 时间:2024/06/02 04:26
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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.
思路:用左上和右下的坐标定位出一次要旋转打印的数据,一次旋转打印结束后,往对角分别前进和后退一个单位
class Solution {public: vector<int> printMatrix(vector<vector<int> > matrix) { int row = matrix.size(); //定义行数 int col = matrix[0].size(); //定义列数 vector<int> res; if(row == 0 || col == 0) return res; //返回空数组 int left = 0, right = col - 1, top = 0, bottom = row - 1; while(left <= right && top <= bottom){ // left to right for(int i = left; i <= right; i++) res.push_back(matrix[top][i]); //top to bottom for(int i = top+1; i <= bottom; i++) res.push_back(matrix[i][right]); //right to left for(int i = right - 1; i >= left && top < bottom; i--) res.push_back(matrix[bottom][i]); //bottom to top for(int i = bottom - 1; i > top && right > left; i--) res.push_back(matrix[i][left]); left++; right--; top++; bottom--; } return res; }};
阅读全文
0 0
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 矩阵顺时针打印
- 顺时针打印矩阵
- 顺时针打印矩阵[算法]
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- USB总线专题(二)——数据传输及协议
- 设计模式之中介者模式
- HTTP协议头详解
- Android 阴影效果
- LPCTSTR类型
- 顺时针打印矩阵
- 简单谈谈面向对象和面向过程的区别
- CASE WHEN 用法
- MySQL数据库设计总结
- Windows下用VC++命令行编译c(cl.exe)
- HDU-2841 Visible Trees (莫比乌斯反演)
- ssh-配置事务管理器
- system.out.printf()的使用方法
- 同步和异步的区别