leetcode 59:Spiral Matrix II

原创 2015年11月18日 21:15:57

题目:

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 ]
]

思路:

这题和Spiral Matrix比较相似,具体思路见Spiral Matrix

时间复杂度:O(n^2)


实现如下:

class Solution {
public:
	vector<vector<int>> generateMatrix(int n) {
		vector<vector<int>> result(n, vector<int>(n, 0));
		int left = 0, right = n - 1, up = 0, down = n - 1, count = 1;
		while (left <= right)
		{
			int column = left;
			for (; column <= right; ++column) result[up][column] = count++;
			++up;
			int row = up;
			for (; row <= down; ++row) result[row][right] = count++;
			--right;
			if (up <= down)
			{
				for (column = right; column >= left; --column) result[down][column] = count++;
				--down;
			}
			if (left <= right)
			{
				for (row = down; row >= up; --row) result[row][left] = count++;
				++left;
			}
		}
		return result;
	}
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode 59. Spiral Matrix II (JAVA)(螺旋矩阵2)

LeetCode 59. Spiral Matrix II (JAVA)(螺旋矩阵2)
  • mine_song
  • mine_song
  • 2017年04月17日 16:10
  • 401

Spiral Matrix II -- LeetCode

原题链接: http://oj.leetcode.com/problems/spiral-matrix-ii/  这道题跟Spiral Matrix很类似,只是这道题是直接给出1到n^2,然后把这些...
  • linhuanmars
  • linhuanmars
  • 2014年03月24日 06:54
  • 10061

【LeetCode】54. Spiral Matrix 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/50771703Subject 出处:https://leetcode.com/pro...
  • crazy1235
  • crazy1235
  • 2016年05月15日 10:28
  • 5534

LeetCode59——Spiral Matrix II

LeetCode59——Spiral Matrix II 参考LeetCode54——Spiral Matrix 唯一不同,就是对二维数组按照这个顺序进行赋值操作:1,2,3,....n 代码:...
  • zhangxiao93
  • zhangxiao93
  • 2015年10月24日 22:13
  • 647

[Leetcode]54. Spiral Matrix @python

题目Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral ...
  • qian2729
  • qian2729
  • 2016年01月18日 21:27
  • 269

[LintCode] 螺旋矩阵II Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n^2 in spiral order.样例 ...
  • wutingyehe
  • wutingyehe
  • 2016年04月26日 13:45
  • 654

[C++]LeetCode: 110 Spiral Matrix (螺旋输出矩阵元素)

题目: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in sp...
  • cinderella_niu
  • cinderella_niu
  • 2015年01月19日 16:28
  • 1733

leetcode_c++: Spiral Matrix II(059)

题目Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For...
  • mijian1207mijian
  • mijian1207mijian
  • 2016年06月01日 00:28
  • 99

LeetCode(54)Spiral Matrix

题目Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral ...
  • fly_yr
  • fly_yr
  • 2015年09月05日 21:28
  • 1511

LeetCode 59: Spiral Matrix II

Difficulty: 3 Frequency: 2 Problem: Given an integer n, generate a square matrix filled w...
  • claviclelau
  • claviclelau
  • 2013年09月02日 13:52
  • 301
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 59:Spiral Matrix II
举报原因:
原因补充:

(最多只允许输入30个字)