leetcode-Spiral Matrix II
来源:互联网 发布:知乎下载安卓 编辑:程序博客网 时间:2024/06/07 23:55
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 ]]
方向变化与Spiral Matrix一致。将二维数组初始化全为-1,更新后值大于0;
利用值是否为-1判断该值是否已加入到二维数组中;
按变化方向一个一个元素加入到二维数组中,一直到n*n个元素停止;
class Solution {public: vector< vector<int> > generateMatrix(int n) { vector< vector<int> > matrix1; if(n == 0) return matrix1; vector< vector<int> > matrix(n, vector<int> (n,-1)); int count = 1; int x = 0; int y = 0; int direct = 0;//0-> 1xia,2 zuo,3 shang while(count != n*n+1) { if(matrix[x][y] == -1 && direct == 0) { matrix[x][y] = count++; y++; if(y == n || matrix[x][y] != -1) { x++; y--; direct = 1; continue; } } if(matrix[x][y] == -1 && direct == 1) { matrix[x][y] = count++; x++; if(x == n || matrix[x][y] != -1) { x--; y--; direct = 2; continue; } } if(matrix[x][y] == -1 && direct == 2) { matrix[x][y] = count++; y--; if(y == -1 || matrix[x][y] != -1) { y++; x--; direct = 3; continue; } } if(matrix[x][y] == -1 && direct == 3) { matrix[x][y] = count++; x--; if(x == -1 || matrix[x][y] != -1) { x++; y++; direct = 0; continue; } } } return matrix; }};
0 0
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix II
- LeetCode : Spiral Matrix II
- [LeetCode] Spiral Matrix II
- [LeetCode]Spiral Matrix II
- [leetcode]Spiral Matrix II
- LeetCode-Spiral Matrix II
- [leetcode] Spiral Matrix II
- LeetCode - Spiral Matrix II
- Leetcode: Spiral Matrix II
- 【LeetCode】Spiral Matrix II
- Leetcode Spiral Matrix II
- [LeetCode] Spiral Matrix II
- LeetCode | Spiral Matrix II
- LeetCode Spiral Matrix II
- Leetcode: Spiral Matrix II
- Spiral Matrix II -- LeetCode
- suricata with af-packet mode
- Fedora19 编译环境
- AlertDialog.Builder属性集合
- 【redis】关于集群创建遇到的问题
- EM算法求解高斯混合模型
- leetcode-Spiral Matrix II
- 装win8系统,无法识别驱动问题
- VMWARE ESXI 虚拟硬盘的格式:精简置备(thin provision)、厚置备延迟置零、厚置备置零
- 为什么是远程桌面而不在手机上做UI
- ListView下拉刷新加载
- poj 1265
- Qt 窗体焦点问题
- Tomcat Servlet 往外传输数据(对象 or list) 给 Android
- ubuntu关闭开机崩溃提示