剑指offer--20.顺时针打印数组
来源:互联网 发布:java web 测试工具 编辑:程序博客网 时间:2024/06/06 02: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.
class Solution {public: vector<int> printMatrix(vector<vector<int> > matrix) { int rows=matrix.size(); int cols=matrix[0].size(); vector<int> res; //if(rows==0||cols==0) // return res; int count=rows*cols; int flag=0; int start=0; int endX=cols-1; int endY=rows-1; //循环退出的条件 while(cols>start*2&&rows>start*2) { //step1 for(int i=start;i<=endX;++i) res.push_back(matrix[start][i]); //step2;至少有两行 if(start<endY) { for(int i=start+1;i<=endY;++i) res.push_back(matrix[i][endX]); } //step3;至少两行两列 if(start<endY&&start<endX) { for(int i=endX-1;i>=start;--i) res.push_back(matrix[endY][i]); } //step4;至少三行两列 if(start<endY-1&&start<endX) { for(int i=endY-1;i>=start+1;--i) res.push_back(matrix[i][start]); } endX--; endY--; start++; } return res; }};
0 0
- 剑指offer--20.顺时针打印数组
- 剑指offer:顺时针打印数组
- 剑指Offer-顺时针打印数组
- 剑指offer之顺时针打印二维数组
- 《剑指offer》:[20]顺时针打印数组
- 剑指offer----顺时针打印数组----java实现
- 剑指offer-05-顺时针打印数组
- 剑指offer 20. 顺时针打印矩阵
- 剑指offer 面试题20 顺时针打印二维数组
- 【剑指offer】顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 《剑指offer》顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- <Three.js>(第二节)添加长方体
- xml文件的读写
- Binder_Native Binder挂掉客户端收到通知的机制
- 第一行代码学习笔记(一)
- Linux初学之基本命令使用(一)
- 剑指offer--20.顺时针打印数组
- Web.py - processor和hooks
- 接口隔离原则详解--七大面向对象设计原则(4)
- HDU 1695 GCD(容斥原理、去重)
- leetcode题集——reverse-integer(翻转十进制整数)
- 创建线程对象的三种方式
- 登陆器列表
- csdn待改进点之33------>为什么已读提示为未读? 这不是在骚扰人么?
- Nginx系列(一)--nginx是什么?