面试题20 顺时针打印矩阵
2016-04-04 23:13
381 查看
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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 printCircle(vector<vector<int> > matrix, int start, vector<int> &v){ int rows = matrix.size(), columns = matrix[0].size(); int endx = columns - 1 - start; int endy = rows - 1 - start; for (int i = start; i <= endx; i++) v.push_back(matrix[start][i]); if (start < endy){ for (int i = start + 1; i <= endy; i++) v.push_back(matrix[i][endx]); } if (start < endx && start < endy){ for (int i = endx - 1; i >= start; i--) v.push_back(matrix[endy][i]); } if (start < endx && start < endy - 1){ for (int i = endy - 1; i >= start + 1; i--){ v.push_back(matrix[i][start]); } } } vector<int> printMatrix(vector<vector<int> > matrix) { vector<int> v; int rows = matrix.size(), columns = matrix[0].size(); int start = 0; while (columns > start * 2 && rows > start * 2){ printCircle(matrix, start, v); start++; } return v; } };
相关文章推荐
- 2017爱奇艺实习面试总结(搜索开发,拿到offer)
- 程序员学习视频教程汇总
- LeetCode之旅(20)-Power of Three
- 码农小汪-Hibernate学习10-hibernate继承映射 @DiscriminatorColumn DiscriminatorType @Inheritance InheritanceType
- 面试题19 二叉树的镜像
- 安卓面试题
- 面试题18 树的子结构
- 程序员有趣的面试智力题
- 黑马程序员-学习笔记03
- 黑马程序员-学习笔记02
- 黑马程序员,学习笔记01
- 成为顶尖自由职业者必备的7个软技能之一:沟通(转)
- java多线程--几个多线程面试题小结
- 我的求职之路:9个offer,12家公司,35场面试,最终谷歌
- [置顶] 整理最全的Android开发工程师面试题,面试题详解。java、Android程序员
- 剑指offer面试题之和为S的连续正数序列
- 面试题15 链表中倒数第k个结点
- 面试题14 调整数组顺序使奇数位于偶数前面
- 七个对我最重要的职业建议(译文)
- CPU处理多任务——中断与轮询方式比较