59. Spiral Matrix II
来源:互联网 发布:网络架构图怎么做 编辑:程序博客网 时间:2024/06/09 22:20
题目
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3,
You should return the following matrix:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
思路
这道题目又是螺旋遍历,思路和前面一篇博客:Spiral Matrix一模一样
就不多说了,直接上代码:
代码
class Solution {public: vector<vector<int>> generateMatrix(int n) { //生成n*n的数组 vector<int> tmp(abs(n),1); vector<vector<int>> matrix; if (n==0) return matrix; for(int j=0;j<abs(n);j++) matrix.push_back(tmp); int rowbegin = 0,rowend=matrix.size()-1,colbegin=0,colend = matrix[0].size()-1; int num =1; while(rowbegin<=rowend&&colbegin<=colend)//大循环 { for(int i=colbegin;i<=colend;i++)//从左往右 { matrix[rowbegin][i] =num ; num++; } rowbegin++; for(int i=rowbegin;i<=rowend;i++)//从上至下 { matrix[i][colend] =num; num++; } colend--; if(rowbegin<=rowend) { for(int i=colend;i>=colbegin;i--)//从右往左 { matrix[rowend][i] = num; num++; } } rowend--; if(colbegin<=colend) { for(int i=rowend;i>=rowbegin;i--)//从下往上 { matrix[i][colbegin]=num; num++; } } colbegin++; } return matrix; }};
阅读全文
0 0
- 59.Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- request response中的attribute,parameter和header信息
- linux文本处理三剑客之grep
- cmd下运行java程序--hello world
- 对自己的“平均随机数封装类”的测试
- 业务 电商 订单
- 59. Spiral Matrix II
- apply()方法和call()方法
- Gerrit使用简介
- 分割字符串
- session存入数据库
- JS之arguments 引发的一个错误
- HGDB使用-l和-L选项恢复指定的数据库对象
- Spire.PDF 教程:在C#中切换PDF层的可见性
- Meet Surprise品牌的饰品为什么值得购买