Spiral Matrix
来源:互联网 发布:f18ef超级大黄蜂数据 编辑:程序博客网 时间:2024/05/17 04:43
class Solution {public: vector<int> spiralOrder(vector<vector<int> > &matrix) { vector<int> res; if (matrix.size()==0) return res; int sx=0, sy=0, ex=matrix[0].size()-1, ey=matrix.size()-1; while (true) { for (int i=sx; i<=ex; i++) { res.push_back(matrix[sy][i]); } if (++sy>ey) break; for (int i=sy; i<=ey; i++) { res.push_back(matrix[i][ex]); } if (--ex<sx) break; for (int i=ex; i>=sx; i--) { res.push_back(matrix[ey][i]); } if (--ey<sy) break; for (int i=ey; i>=sy; i--) { res.push_back(matrix[i][sx]); } if (++sx>ex) break; } return res; }};II:
class Solution {public: vector<vector<int> > generateMatrix(int n) { vector<int> t(n,0); vector<vector<int> > res(n,t); int sx=0, ex=n-1, sy=0, ey=n-1; int m=1; while (1) { for (int i=sx; i<=ex; i++) { res[sy][i]=m; m++; } if (++sy>ey) break; for (int i=sy; i<=ey; i++) { res[i][ex]=m; m++; } if (--ex<sx) break; for (int i=ex; i>=sx; i--) { res[ey][i]=m; m++; } if (--ey<ex) break; for (int i=ey; i>=sy; i--) { res[i][sx]=m; m++; } if (++sx>sy) break; } return res; }};
0 0
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- SQL优化概略
- hdu2036 改革春风吹满地(向量叉乘求面积)
- UVa:12124 Assemble
- C#游戏编程:Flappy guy
- git将版本恢复到制定版本的方法(git撤销提交的版本方法,git revert撤销提交)
- Spiral Matrix
- c++快速查找实现(递归和非递归)
- C/C++ 局部类和嵌套类
- 企业级安全服务权限控制 Acegi安装系统介绍 Spring Framework安全系统
- 三、基于HTTPS协议的12306抢票软件设计与实现--垂直查询效果分享
- Android输入事件流程中的EventHub分析及源码演示
- Ubuntu下,清屏等终端常用命令
- 编译时候没用警告和错误,但是执行不了,提示bad flag ()()in function cvGerMat
- 同事辞职,留下了它 -让所有人都惊呆了!