时间:2021-05-22
思路
螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,
向左变大,向上变大,如此循环。
螺旋矩阵用二维数组表示,坐标(x,y),即(x轴坐标,y轴坐标)。
顺时针螺旋的方向是->右,下,左,上,用数值表示即是x加1格(1,0),y加1格(0,1),x减1格(-1,0),y减1格(0,-1)。
坐标从(0,0)开始行走,当超出范围或遇到障碍时切换方向。
螺旋矩阵的打印首先要对n*n的数组进行赋值,根据规律可以看出,每一层都是按照右->下->左->上的顺序进行递增,因此,只要找出每一层的第一个数即可,第一个数值为上一层的第一个数+4*n-4,循环时n每次减2。
代码
经过上面的分析,思路很清晰了,千言不如一码:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java实现的打印螺旋矩阵算法。分享给大家供大家参考,具体如下:一个N阶矩阵顺时针呈螺旋状,形如下面的矩阵:思路:使用一个二维数组存放数据,数组初
打印旋转矩阵应该是很经典的算法问题了。题目描述如下:给定一个m*n要素的矩阵。按照螺旋顺序,返回该矩阵的所有要素。思路:1,先定义矩阵的左上和右下的坐标,然后通
问题如何使用list构造图邻接矩阵的方式Python代码示例#!/usr/bin/envpython#-*-encoding:utf-8-*-#author:L
这篇文章主要介绍了Python迭代器模块itertools使用原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[[1,2,3],[4,5,6],[7,8,9]]输出: