螺旋矩阵 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;
}
};

最新文章

  1. 用python写一个hello world程序
  2. ios Camera学习笔记
  3. 使用mp4v2将H264+AAC合成mp4文件
  4. 存储过程系列之存储过程sql数据库调用和程序代码调用
  5. Java NIO使用及原理分析(二)
  6. java simple check whether a file or directory.
  7. 内核级HOOK的几种实现与应用
  8. 通往WinDbg的捷径
  9. WebService基础学习(三)&mdash;CXF
  10. 专业、稳定的微信域名被封检测API平台!
  11. .net开发COM组件之组件签名&amp;注册
  12. php 调试的常用方法
  13. UVa Live 4725 - Airport 二分,动态规划,细节 难度: 1
  14. 【20】策略者模式(Strategy Pattern)
  15. Pyhton语句
  16. jquery 页面分页的实现
  17. 回忆--RYU流量监控
  18. Linux中的wget命令
  19. GPIO输出—使用固件库点亮LED
  20. python中的ftplib模块

热门文章

  1. lamp 安装 apache
  2. HDFS的JavaAPI
  3. linux运维视频教程
  4. 中国大学MOOC-C程序设计(浙大翁恺)—— 素数和
  5. [POJ1014]Dividing(二进制优化多重背包)
  6. 北京Uber优步司机奖励政策(12月25日)
  7. day 11 绘制轮廓
  8. java-IO处理类的序列化与反序列化
  9. nodejs HTTP服务
  10. HBase 数据的多版本特性潜在的意外