给一个正整数N,打印NxN的蛇形矩阵(一) 之空间复杂度O(NxN)
来源:互联网 发布:中国石化加油卡淘宝 编辑:程序博客网 时间:2024/06/05 16:13
当N=4时,对应的蛇形矩阵如下图:
图 1
将该蛇形矩阵中元素的坐标代替其元素值时,得到如图2的矩阵,此时横坐标i和纵坐标j的和m=i+j具有一定的规律。当m为偶数时,原矩阵(图1中矩阵)中的元素值沿左下方增大,当m为奇数时,原矩阵中的元素值沿右上方增大。
图 2
在了解其规律后不难打印蛇形矩阵中元素,其代码如下:
void printSnakeOfN2(int N){int* array=new int[N*N];int key=1;for(int m=0;m<2*N-1;m++){if(m<N){if(m%2!=0){for(int i=0;i<=m;i++)*(array+i*N+(m-i))=key++;}else{for(int j=0;j<=m;j++)*(array+(m-j)*N+j)=key++;}}else{if(m%2!=0){for(int i=m-(N-1);i<N;i++)*(array+i*N+(m-i))=key++;}else{for(int j=m-(N-1);j<N;j++)*(array+(m-j)*N+j)=key++;}}}for(int i=0;i<N;i++){for(int j=0;j<N;j++)printf("%d ",*(array+i*N+j)); printf("\n");}delete []array;array=NULL;}
- 给一个正整数N,打印NxN的蛇形矩阵(一) 之空间复杂度O(NxN)
- 给一个正整数N,打印NxN的蛇形矩阵(一) 之空间复杂度O(NxN)
- 给一个正整数N,打印NxN的蛇形矩阵(二) 之空间复杂度O(1)
- 给一个正整数N,打印NxN的蛇形矩阵(二) 之空间复杂度O(1)
- 顺时针打印nxn的矩阵
- 输入一个n ,然后在屏幕上打印出NxN 的矩阵!
- 蛇形打印矩阵,时间复杂度O(n)
- 输入两个数,第一个数决定一个nXn的矩阵
- 打印NXN方正 XY010XY 3<N<20
- 随机打印NXN的拉丁方阵
- 矩阵相乘nxn block的计算过程
- 【Java】旋转NxN的矩阵90°
- zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
- 数组中未出现的最小正整数(时间复杂度O(N),空间复杂度O(1))
- nxn矩阵求和(对角线)
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
- 【编程练习】蛇形矩阵,空间复杂度为O(n*n)实现(小米面试题 GNU C实现)
- 对NxN型螺旋矩阵算法的个人见解
- OCP-1Z0-051-V9.02-175题
- C/C++语言参数传递----值传递、引用传递、指针传递、指针引用传递
- 2014继续加油
- C# WinForm项目打包
- [各种面试题] 堆的实现
- 给一个正整数N,打印NxN的蛇形矩阵(一) 之空间复杂度O(NxN)
- php中文字符串翻转
- 图像放缩之双线性内插值
- 网桥和交换机的工作原理及区别
- Android Please ensure that adb is correctly located at问题解决
- iOS自定义字体
- jdk6中的jps,jstack,jmap,jhat,jconsole命令
- oracle null备忘
- VirtualBox 的快捷键