leetcode:Spiral Matrix II

原创 2016年08月30日 22:32:57

leetcode:Spiral Matrix II 

题目:

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

即,给定矩阵大小,返回螺旋矩阵

c++实现:

#include <iostream>
#include <vector>

using namespace std;
vector<vector<int> > generateMatrix(int n)
{
	vector< vector<int> > matrix(n, vector<int>(n));

	if (n == 0) 
		return matrix;

	int beginX = 0, endX = n - 1;
	int beginY = 0, endY = n - 1;
	int num = 1;
	while (true) 
	{
		for (int j = beginX; j <= endX; ++j) 
			matrix[beginY][j] = num++;
		if (++beginY > endY) 
			break;
		for (int i = beginY; i <= endY; ++i) 
			matrix[i][endX] = num++;
		if (beginX > --endX) 
			break;
		for (int j = endX; j >= beginX; --j) 
			matrix[endY][j] = num++;
		if (beginY > --endY) 
			break;
		for (int i = endY; i >= beginY; --i) 
			matrix[i][beginX] = num++;
		if (++beginX > endX)
			break;
	}
	return matrix;
}
int main()
{
	vector<vector<int>> vec;
	int n=3;
	vec=generateMatrix(n);
	vector<vector<int>>::iterator pp;  
    vector<int>::iterator it;  
    for(pp=vec.begin();pp<vec.end();pp++)  
    {  
        for (it=(*pp).begin();it<(*pp).end();it++)  
        {  
            cout<<*it<<" ";  
        }  
        cout<<endl;  
    }  
	
	return 0;
}

测试结果:



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

相关文章推荐

1212全民疯抢 艾夫斯 女 百搭 基本款 牛仔裤21042218004

促销价格 : 159.0 元 掌柜 : 艾夫斯官方旗舰店 信用 : 30天累计售出 : 件 宝贝与描述相符 : 4.7高于10.82% 卖家的服务态度 : 4.7高于0.52% 卖家发货...

Windows与linux下caffe配置(仅CPU)

Windows与linux下caffe配置 windows下caffe配置 由于本人笔记本较旧,用GPU加速与CPU训练基本差不多,所以本文仅考虑在Win CPU下安装caffe。  本文在w...

数字形态学

数学形态学是分析几何形状和结构的数学方法,是建立在集合代数基础上,用集合论方法定量描述几何结构的 科学。,数学形态学已在计 算机视觉、信号处理与图像分析、模式识别、计算方法与数据处理等方面得 到了极为...

[LeetCode]--59. Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For e...

leetcode--Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For ...

【leetcode】Spiral Matrix II

一、问题描述 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral...

Leetcode NO.59 Spiral Matrix II

本题题目要求如下: Given an integer n, generate a square matrix filled with elements from 1 to n2 in spi...

【LeetCode】59. Spiral Matrix II 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51416037Subject 出处:https://leetcode.com/pro...

LeetCode | 59. Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For e...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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