leetcode59 Spiral Matrix II
2016-01-06 15:42
148 查看
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n =
You should return the following matrix:
View Code
For example,
Given n =
3,
You should return the following matrix:
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
class Solution { public: vector<vector<int>> generateMatrix(int n) { vector<vector<int> > ans; if(n<=0) return ans; vector<int> temp(n,0); for(int i=0;i<n;i++) { ans.push_back(temp); } int xmin=0,ymin=0,xmax=n-1,ymax=n-1; int total=n*n; ans[0][0]=1; int dir=1; int x=0,y=0; int count=1; while(count<total) { if(dir==1) { if(y+1>ymax) { xmin++; dir=2; } else { y++; count++; ans[x][y]=count; } } else if(dir==2) { if(x+1>xmax) { ymax--; dir=3; } else { x++; count++; ans[x][y]=count; } } else if(dir==3) { if(y-1<ymin) { xmax--; dir=4; } else { y--; count++; ans[x][y]=count; } } else { if(x-1<xmin) { ymin++; dir=1; } else { x--; count++; ans[x][y]=count; } } } return ans; } };
View Code
相关文章推荐
- ThinkPHP 实际开发中 零碎问题整理
- svn 命令行创建分支、合并主干
- Flexbox
- 第十三课坐标计算---坐标扩展命令
- Java常用排序算法及性能测试集合
- Unity3D让摄像机随player移动
- 国内一些大公司的开源项目
- 【随记】VS异常:HRESULT: 0x80070057 (E_INVALIDARG)) 解决方案
- 02Modify.ashx(修改班级信息)
- leetcode55 Jump Game
- jQuery的live()方法对hover事件的处理示例
- [置顶]新的博客
- 将博客搬至CSDN
- 2013亚洲区域赛长沙站 ZOJ 3732 Graph Reconstruction
- [C++] upper_bound和lower_bound
- Marshal 类
- 2015合肥网络赛 HDU 5489 Removed Interval LIS+线段树(树状数组)
- UICollectionView的重排功能
- 2015合肥网络赛 HDU 5492 Find a path 动归
- 2015上海网络赛 HDU 5478 Can you find it 数学