LintCode-381.螺旋矩阵 II
2024-08-29 05:42:49
螺旋矩阵 II
给你一个数n生成一个包含1-n^2的螺旋形矩阵
样例
n = 3
矩阵为
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]标签
数组
code
class Solution {
public:
/**
* @param n an integer
* @return a square matrix
*/
vector<vector<int>> generateMatrix(int n) {
// Write your code here
if(n <= 0 ) {
vector<vector<int> > matrix;
return matrix;
}
vector<int> line(n);
vector<vector<int> > matrix(n, line);
int i,j,inc=1;
int cirCount = (n+1)/2;
// 第i圈
for(i=0; i<cirCount; i++) {
// 从左至右
for(j=i; j<n-i-1;j++) {
matrix[i][j] = inc++;
}
// 从上至下
for(j=i; j<n-i-1;j++) {
matrix[j][n-i-1] = inc++;
}
// 从右至左
for(j=i; j<n-i-1;j++) {
matrix[n-i-1][n-j-1] = inc++;
}
// 从下至上
for(j=i; j<n-i-1;j++) {
matrix[n-j-1][i] = inc++;
}
}
if(n%2 == 1)
matrix[n/2][n/2] = inc;
return matrix;
}
};
最新文章
- 用python写一个hello world程序
- ios Camera学习笔记
- 使用mp4v2将H264+AAC合成mp4文件
- 存储过程系列之存储过程sql数据库调用和程序代码调用
- Java NIO使用及原理分析(二)
- java simple check whether a file or directory.
- 内核级HOOK的几种实现与应用
- 通往WinDbg的捷径
- WebService基础学习(三)&mdash;CXF
- 专业、稳定的微信域名被封检测API平台!
- .net开发COM组件之组件签名&;注册
- php 调试的常用方法
- UVa Live 4725 - Airport 二分,动态规划,细节 难度: 1
- 【20】策略者模式(Strategy Pattern)
- Pyhton语句
- jquery 页面分页的实现
- 回忆--RYU流量监控
- Linux中的wget命令
- GPIO输出—使用固件库点亮LED
- python中的ftplib模块