博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Spiral Matrix II
阅读量:5876 次
发布时间:2019-06-19

本文共 1248 字,大约阅读时间需要 4 分钟。

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 ]]问题描述:给定一个整数n,生成一个方阵,它含有从1到n^2的元素,而且这些整数以向中间旋转的方式排列。我采用的是最笨的办法,先来看外面一圈是如何计算的,第0行,从0~2依次是1~3,然后是第2列,第1个是4,然后是第2行,从2~0依次是5~7,然后是第0列,第1个是8。
class Solution {public:    vector
> generateMatrix(int n) { // Note: The Solution object is instantiated only once and is reused by each test case. vector
> vec(n, vector
(n)); int i = 0, j = 0; int count = 1; int index = 0; int start = 0, end = n-1; while(count <= n*n) { for(i = index, j = start; j <= end && count <= n*n; j++) vec[i][j] = count++; for(j = n-1-index, i = start+1; i < end && count <= n*n; i++) vec[i][j] = count++; for(i = n-1-index, j = end; j >= start && count <= n*n; j--) vec[i][j] = count++; for(j = index, i = end-1; i >= start+1 && count <= n*n; i--) vec[i][j] = count++; index++; start++; end--; } return vec; }};
 

转载地址:http://fkkix.baihongyu.com/

你可能感兴趣的文章
前端工程化系列[01]-Bower包管理工具的使用
查看>>
使用 maven 自动将源码打包并发布
查看>>
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
飞秋无法显示局域网好友
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>
Boost在vs2010下的配置
查看>>
android camera(四):camera 驱动 GT2005
查看>>
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
查看>>
20款绝佳的HTML5应用程序示例
查看>>
string::c_str()、string::c_data()及string与char *的正确转换
查看>>
11G数据的hive初测试
查看>>
如何使用Core Text计算一段文本绘制在屏幕上之后的高度
查看>>