顺时针打印数组
来源:互联网 发布:js执行按钮点击事件 编辑:程序博客网 时间:2024/04/30 14:33
题目描述:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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: void PrintMatrix(vector<int>& res,int r,int c,int s,vector<vector<int> > matrix) { int i = 0, j = 0, k = 0, m = 0, p = 0; int endX=c-1-s; // 每圈最右边的边界 int endY=r-1-s; // 每圈最下方的边界for (j = s; j<=endX; j++) // 打印每圈最上面的一行 res.push_back(matrix[s][j]); if(s<endY) //打印每圈最右边一列 { for (k = s + 1; k<=endY; k++)res.push_back(matrix[k][endX]); } if(s<endY && s<endX) // 打印每圈最下方一行 { for (m = endX-1; m >= s; --m)res.push_back(matrix[endY][m]); } if(s<endX && s<endY-1) //打印每圈最左边一列 { for (p = endY-1; p>s; --p)res.push_back(matrix[p][s]); } } vector<int> printMatrix(vector<vector<int> > matrix) { int row=matrix.size(); int column=matrix[0].size(); int start=0; vector<int> res; while(row>2*start && column>2*start) { PrintMatrix(res,row,column,start,matrix); ++start; } return res; }};
0 0
- 顺时针/螺旋打印数组
- 顺时针打印数组
- 顺时针打印数组
- 二维数组顺时针打印
- 顺时针打印数组
- 顺时针打印数组
- 顺时针打印二维数组
- 顺时针打印数组
- 顺时针数组循环打印
- 剑指offer:顺时针打印数组
- 剑指Offer-顺时针打印数组
- 顺时针螺旋打印二维数组
- JS实现顺时针打印数组
- 顺时针打印矩阵(数组)
- 顺时针打印矩阵或者 螺旋数组
- 剑指offer之顺时针打印二维数组
- 《剑指offer》:[20]顺时针打印数组
- 顺时针打印二维数组---执行判断
- OpenCV CvMat数据结构参数
- UI - TargetAction模式
- Gamma的完全理解
- android oom 全解析
- 深入理解Android之设备加密Device Encryption
- 顺时针打印数组
- POJ 2318 TOYS
- gearman消息发送示例
- ZOJ.2481 Unique Ascending Array【子集】 2015/09/24
- 如何查询安卓手机型号以及如何修改型号跟品牌
- 【二维码】:二维码的科普
- 设计模式 - 建造者模式(Builder)
- Codeigniter控制器支持多级目录
- nodejs如何请求路由,http和url模块