LeetCode-59-Spiral Matrix II(Array)-Medium
来源:互联网 发布:珠宝绘图软件 编辑:程序博客网 时间:2024/05/17 07:46
题意理解:
给定n,求解由1-n组成的n维矩阵。其中,矩阵内容的旋转遍历即为1-n的排序内容;
解题分析:
逐层递归填写n维矩阵的内容;
解题代码:
class Solution {private: void process(vector<vector<int>> &m, int _initPos, int _n, int _initNum){ int initPos=_initPos; cout<<"initPos= "<<initPos<<endl; int n=_n; cout<<"n= "<<n<<endl; int initNum=_initNum; cout<<"initNum= "<<initNum<<endl; if(n<=0){ return; } if(n==1){ m[initPos][initPos]=initNum; return; } if(n==2){ m[initPos][initPos]=initNum; m[initPos][initPos+1]=initNum+1; m[initPos+1][initPos+1]=initNum+2; m[initPos+1][initPos]=initNum+3; return; } for(int i=0; i<n;i++){ m[initPos][initPos+i]=initNum+i; } initNum+=n; for(int i=1; i<n; i++){ m[initPos+i][initPos+n-1]=initNum+i-1; } initNum+=n-1; for(int i=1; i<n; i++){ m[initPos+n-1][initPos+n-1-i]=initNum+i-1; } initNum+=n-1; for(int i=1; i<n-1; i++){ m[initPos+n-1-i][initPos]=initNum+i-1; } initPos++; initNum+=n-2; n-=2; process(m, initPos, n, initNum); }public: vector<vector<int>> generateMatrix(int n) { vector<vector<int>> ans; for(int i=0; i<n; i++){ vector<int> t(n,0); ans.push_back(t); } process(ans, 0, n, 1); return ans; }};
0 0
- LeetCode-59-Spiral Matrix II(Array)-Medium
- 【LeetCode】(59)Spiral Matrix II(Medium)
- LeetCode[Array]: Spiral Matrix II
- Leetcode 59. Spiral Matrix II (Medium) (cpp)
- Leetcode 59. Spiral Matrix II (Medium) (java)
- Medium 59题 Spiral Matrix II
- LeetCode刷题【Array】 Spiral Matrix II
- leetcode.array--59. Spiral Matrix II
- LeetCode 59: Spiral Matrix II
- [leetcode 59] Spiral Matrix II
- [LeetCode 59] Spiral Matrix II
- leetcode || 59、 Spiral Matrix II
- Spiral Matrix II - LeetCode 59
- Leetcode #59 Spiral Matrix II
- leetcode 59: Spiral Matrix II
- Leetcode#59||Spiral Matrix II
- leetcode 59:Spiral Matrix II
- 【LEETCODE】59-Spiral Matrix II
- 代码段
- xulingbo/xulingbo.github.io 大牛文章,要看看
- Mysql中文乱码问题完美解决方案
- BZOJ 4260: Codechef REBXOR|Trie树
- Arduino接口-week4-Lesson3
- LeetCode-59-Spiral Matrix II(Array)-Medium
- mysql 插入中文乱码解决方案
- 0012-关于tab
- CentOS5.5上安装psycopg2
- iOS开发系列--让你的应用“动”起来
- 高薪行业2016年调薪预估率出炉
- 第三方库
- Mysql分库分表方案
- set character_set_database=utf8;set character_set_server=utf8;