leetcode 54. Spiral Matrix
2016-04-08 17:25
330 查看
题意
顺时针输出矩阵元素到一个一维向量中题解
x,y记录矩阵最左上角坐标,n、m记录最右下角坐标,不断缩小矩阵代码
class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> result; if(matrix.empty()) return result; int n = matrix.size() - 1, m = matrix[0].size() - 1; for(int x = 0, y = 0; x <= n && y <= m; x++,y++ ) { for(int j = y; j <= m; j++) result.push_back(matrix[x][j]); for(int i = x + 1; i <= n; i++) result.push_back(matrix[i][m]); if(x != n) { for(int j = m - 1; j >= y; j--) result.push_back(matrix [j]); } if(y != m) { for(int i = n - 1; i > x; i--) result.push_back(matrix[i][y]); } n--,m--; } return result; } };
相关文章推荐
- 第六周项目4:静态成员的应用
- dubbo文档
- Struts2常用标签总结
- c++中重载,重写,重定义
- SpringMVC+ibatis+MySQL+MongoDB构建博客系统(一)
- exec*函数对应的系统调用处理过程
- Poi2006 Palindromes
- NopCommerce架构分析之一----依赖类生成容器
- oracle函数listagg的使用说明
- Socket UDP通讯
- Ring Buffer (circular Buffer)环形缓冲区
- CString转换为char*,在多字节与宽字节两种情况下
- 从数据库(wm_concat函数)接收值变成oracle.sql.CLOB@xxxxx类型的处理方法
- 对于团队项目的意见及项目需求的分析
- 哈希表(hashtable)
- 5.4用形态学滤波器检测边缘和角点
- linux图形界面命令行切换
- 【学习笔记----数据结构04-单循环链表】
- 84.#define #if #ifdef #ifndef 作用和区别
- 教你透彻了解红黑树