给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

示例:

输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]

class Solution {
public:
vector<vector<int> > generateMatrix(int n)
{
vector<vector<int> > res(n, vector<int>(n, 0));
int left = 0;
int up = 0;
int right = n - 1;
int down = n - 1;
int cnt = 1;
while(up <= down && left <= right)
{
for(int i = left; i <= right; i++)
res[up][i] = cnt++;
up++;
if(up > down)
break;
for(int i = up; i <= down; i++)
res[i][right] = cnt++;
right--;
if(left > right)
break;
for(int i = right; i >= left; i--)
res[down][i] = cnt++;
down--;
if(up > down)
break;
for(int i = down; i >= up; i--)
res[i][left] = cnt++;
left++;
if(left > right)
break;
}
return res;
}
};

最新文章

  1. jQuery的DOM操作实例(1)——选项卡&amp;&amp;Tab切换
  2. Centos7设置关闭防火墙
  3. dev LayoutControl布局控件
  4. GDAL C# 开发出现的异常
  5. 关于使用 lua 脚本抢红包
  6. NLP文本情感分类传统模型+深度学习(demo)
  7. FME中Cass扩展属性转Shp的方法
  8. 11、使用 WinAppDeployCmd 部署appx 包到 Windows10 Mobile上(更新)
  9. uploadify上传
  10. Linux下python升级步骤
  11. Java 方法覆盖和方法重载
  12. 关于一点coding.net与git配合在AndroidStudio/Idea上的使用笔记个的
  13. java中拼接两个数组
  14. 计算幂 51Nod 1046 A^B Mod C
  15. C# 导出数据到Excel模板中(转)
  16. 201521123015 《Java程序设计》第七周学习总结
  17. c# 如何读取web.config中的内容(ConfigurationManager)
  18. 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数
  19. SQL Server -&gt;&gt; 数据类型不一致比较时的隐式转换
  20. Nginx - upstream 模块及参数测试

热门文章

  1. MYSQL批量创建表的存储过程
  2. sde中导入shp报错
  3. SpringBoot学习笔记(一):SpringBoot简介
  4. 数据交互 axios 的使用
  5. eval(str)函数
  6. VC文件操作
  7. AutoMapper简介
  8. NIO的学习总结
  9. mybatis 中 if else 用法
  10. 全面解析Spring中@ModelAttribute注解的用法