59. Spiral Matrix II
来源:互联网 发布:java手机游戏培训 编辑:程序博客网 时间:2024/05/02 04:26
题目:
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3
,
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]题意:
给定一个整数n,生成n*n形螺旋数组,如上所示。
转载链接:https://leetcode.com/discuss/21677/simple-c-solution-with-explaination
思路:
按照规律上右下左的顺序依次填充数字。
代码:
class Solution {public: vector<vector<int>> generateMatrix(int n) { vector<vector<int> > ret( n, vector<int>(n) ); int k = 1, i = 0; while( k <= n * n ) { int j = i; // four steps while( j < n - i ) // 1. horizonal, left to right ret[i][j++] = k++; j = i + 1; while( j < n - i ) // 2. vertical, top to bottom ret[j++][n-i-1] = k++; j = n - i - 2; while( j > i ) // 3. horizonal, right to left ret[n-i-1][j--] = k++; j = n - i - 1; while( j > i ) // 4. vertical, bottom to top ret[j--][i] = k++; i++; // next loop } return ret; }};
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
- CDISC SDTM AE domain学习笔记 - 1
- zookeeper学习1
- spring实例化之底层实现原理
- 支付宝,微信,银联集成例子 (BUG是有的)
- 用C++进行简单的文件I/O操作
- 59. Spiral Matrix II
- 树——由中序和前序,中序和后序序列重建二叉树
- jquery之empty()与remove()区别
- Android 银行账号
- Git 常用命令大全
- 【算法作业】 循环赛问题 分治算法
- Three.js无法显示三维外部文件问题解决方案
- APUE,TLPI读书笔记——linux进程
- poj 2814 拨钟问题(枚举)