LeetCode Spiral Matrix
来源:互联网 发布:gbox软件 编辑:程序博客网 时间:2024/05/23 19:13
Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]
You should return [1,2,3,6,9,8,7,4,5]
.
Being careful is the only princeple.
Solution:
class Solution {public: vector<int> spiralOrder(vector<vector<int> > &matrix) { // Start typing your C/C++ solution below // DO NOT write int main() function if(matrix.empty()) return vector<int>(); vector<int> result; int border[]={1,matrix[0].size()-1,matrix.size()-1,0}; int dir[][2]={{0,1},{1,0},{0,-1},{-1,0}}; int x=0,y=0; int index=0; int count=0,total=matrix.size()*matrix[0].size(); while(count++<total){ result.push_back(matrix[x][y]); if(dir[index][1]!=0&&y==border[2-dir[index][1]]){ border[2-dir[index][1]]-=dir[index][1]; ++index; index%=4; }else if(dir[index][0]!=0&&x==border[1+dir[index][0]]){ border[1+dir[index][0]]-=dir[index][0]; ++index; index%=4; } x+=dir[index][0]; y+=dir[index][1]; } return result; }};
- [leetcode]Spiral Matrix&&Spiral Matrix II
- Leetcode:Spiral Matrix与Spiral Matrix II
- LeetCode | Spiral Matrix /Spiral Matrix II
- 【Leetcode】【python】Spiral Matrix/Spiral Matrix II
- LeetCode: Spiral Matrix
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix
- [Leetcode] Spiral Matrix II
- LeetCode: Spiral Matrix
- LeetCode : Spiral Matrix II
- [LeetCode] Spiral Matrix II
- [LeetCode] Spiral Matrix
- leetcode 80: Spiral Matrix
- [Leetcode] Spiral Matrix
- [LeetCode]Spiral Matrix
- [LeetCode]Spiral Matrix II
- c语言编程优化方法
- 二叉树二度节点和叶子节点的数量关系
- iPhone屏幕旋转机制详解
- GTK+学习记录(一)按钮和标签关联函数
- MyEclipse配置Tomcat(图解)
- LeetCode Spiral Matrix
- 程序员的一些习惯
- 黑马程序员—ADO.net基础复习篇2
- Android 服务器消息推送技术
- 设计模式C++学习笔记之二(Proxy代理模式)
- Torque /usr/local/sbin/pbs_mom: error while loading shared libraries: libtorque.so.2
- HOJ 2071 Keep on Truckin'
- Android进阶篇-onTouchEvent的使用
- 厘清各种虚拟化的概念