Leetcode_spiral-matrix-ii
来源:互联网 发布:淘宝买家号开店 编辑:程序博客网 时间:2024/06/04 04:28
地址:http://oj.leetcode.com/problems/spiral-matrix-ii/
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3
,
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]思路:模拟题,跟上一题类似http://blog.csdn.net/flyupliu/article/details/22584219
先把vector用0填满了,循环次数控制在n*n范围内。
参考代码:
class Solution {public: vector<vector<int> > generateMatrix(int n) { vector<vector<int> >res; if(!n) return res; n = n>0? n : -n; for(int k = 0; k < n; ++k) { vector<int>tmpvec; for(int p = 0; p < n; ++p) { tmpvec.push_back(0); } res.push_back(tmpvec); } int i = 0, j = 0, cnt = 1; while(cnt <= n*n) { while(j<n && !res[i][j]) res[i][j++]=cnt++; ++i; --j; while(i<n && !res[i][j]) res[i++][j]=cnt++; --j; --i; while(j>=0 && !res[i][j]) res[i][j--]=cnt++; --i; ++j; while(i>=0 && !res[i][j]) res[i--][j]=cnt++; ++j; ++i; } return res; }};
//SECOND TRAILclass Solution {public:vector<vector<int> > generateMatrix(int n) {vector<vector<int> >ans;for(int i = 0; i<n; ++i){vector<int>v(n, 0);ans.push_back(v);}int ib = 0, ie = n-1, jb = 0, je = n-1, val = 1;while(ib <= ie && jb <= je){for(int j = jb; j<=je; ++j)ans[ib][j] = val++;++ib;for(int i = ib; i<=ie; ++i)ans[i][je] = val++;--je;if(ib > ie || jb > je)break;for(int j = je; j >= jb; --j)ans[ie][j] = val++;--ie;for(int i = ie; i>=ib; --i)ans[i][jb] = val++;++jb;}return ans;}};
0 0
- Leetcode_spiral-matrix-ii
- leetcode_Spiral Matrix II
- Leetcode_spiral-matrix
- leetcode_Spiral Matrix
- Spiral Matrix && Spiral Matrix II
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix II
- LeetCode : Spiral Matrix II
- Spiral Matrix II
- [LeetCode] Spiral Matrix II
- Spiral Matrix II
- HDU2830--Matrix Swapping II
- Spiral Matrix II
- [LeetCode]Spiral Matrix II
- Matrix Swapping II
- Spiral Matrix II
- Spiral Matrix I(II)
- 12 Linux下新建用户和切换当前用户
- semaphore---Dijkstra
- 关于wampserver无法启动mysql数据库的问题
- Select函数实现原理分析
- 设计模式-单一职责模式
- Leetcode_spiral-matrix-ii
- Storm中Topology任务调度策略
- 【C解析之三】C语言的内存分配
- warning:deprecated conversion from string constant to 'char *'解决方案
- iOS实现本地通知(local notification)的方法
- 【D3D】一个D3D程序的基本结构
- SQL的执行顺序
- 【C解析之七】文件进阶
- 苹果Macbook Air怎么安装Win7系统图解教程