矩阵,有意思。

public class Test4 {

	/*
	01--02  06--07  15--16  28--29
	   /   /   /   /   /   /   /
	03  05  08  14  17  27  30  43
	 | /   /   /   /   /   /   / |
	04  09  13  18  26  31  42  44
	   /   /   /   /   /   /   /
	10  12  19  25  32  41  45  54
	 | /   /   /   /   /   /   / |
	11  20  24  33  40  46  53  55
	   /   /   /   /   /   /   /
	21  23  34  39  47  52  56  61
	 | /   /   /   /   /   /   / |
	22  35  38  48  51  57  60  62
	   /   /   /   /   /   /   /
	36--37  49--50  58--59  63--64
	*/

	public static void main(String[] args) {
		Test4 t=new Test4();
		t.printData(t.test2(8));
	}

	//核心算法
    public int[][] test2(int n){
		int arr[][]=new int[n][n];
		for (int i = 0; i < n; i++) {
			for (int j=0,c=i;j<=i&&c>=0;j++,c--) {
				if(i%2==0){  //偶数行
					 if(c==i){ //建立与上次循环的关系
						 if(c==0)
							arr[c][j]=1;
						 else
					       arr[c][j]=arr[c-1][j]+1;
					 }
					 else
				        arr[c][j]=arr[c+1][j-1]+1;
				}else{ //奇数行
				     if(c==i)
				        arr[j][c]=arr[j][c-1]+1;  //建立与上次循环的关系
				     else
				       arr[j][c]=arr[j-1][c+1]+1;
				}
			}
	   }
		return arr;
	}

	//打印数据
	public void printData(int arr[][]){
		int n=arr.length;
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if(arr[i][j]>=10)
				  System.out.print(arr[i][j]+" ");
				else
				  if(arr[i][j]!=0)
				  System.out.print("0"+arr[i][j]+" ");

			}
			System.out.println();
		}
	}

}	

这道题目我感肯定大家会过瘾,希望有高手可以想出更简单的方法,我的思路就是斜着看,通过斜着的循环打印出该效果“

我的效果如图:

矩阵,有意思。,布布扣,bubuko.com

时间: 2024-10-24 02:41:51

矩阵,有意思。的相关文章

奇异分解(SVD)理论介绍

一.前言 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,主要应用如下: 信息检索(LSA:隐性语义索引,LSA:隐性语义分析),分解后的奇异值代表了文章的主题或者概念,信息检索的时候同义词,或者说同一主题下的词会映射为同一主题,这样就可以提高搜索效率 数据压缩:通过奇异值分解,选择能量较大的前N个奇异值来代替所有的数据信息,这样可以降低噪声,节省空间. 推荐系统:主要是降噪,矩阵变换至低维空间(分解后还原的矩阵元素值作为原本

理解矩阵【转】 作者:孟岩

编者按:想要机器学习,线性代数必要先行,至于为何,不如看看这篇文章,肯定会有所启发的.同时本站推荐MIT Strang的线性代数公开课:http://v.163.com/special/opencourse/daishu.html,同时推荐他的两本教材(号称北美最流行):<Introduction to Linear Algebra>, 4th Edition by Gilbert Strang, <Linear Algebra and Its Applications>, 4th

机器学习中的矩阵方法04:SVD 分解

机器学习中的矩阵方法04:SVD 分解 前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间.这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出更有意思的信息.奇异值分解( SVD, Singular Value Decomposition ) 在计算矩阵的伪逆( pseudoinverse ),最小二乘法最优解,矩阵近似,确定矩阵的列向量空间,秩以及线性系统的解集空间都有应用. 1. SVD 的形式

【转载】理解矩阵(一)

原文:理解矩阵(一) 前不久chensh出于不可告人的目的,要充当老师,教别人线性代数.于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次.很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情. 可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊! 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无

深入理解矩阵——矩阵革命(完全版)

矩阵革命-理解矩阵线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数给出行列式的一个极不直观的定义,接着是一些简直犯傻的行列式性质和习题——把这行乘一个系数加到另一行上,再把那一列减过来,折腾得那叫一个热闹,可就是压根看不出这个东西有嘛用.大多数像我一样资质平庸的学生到这里就有点犯晕:连这是个什么东西都模模糊糊的,就开始钻

利用颜色矩阵实现图片效果

在上一篇文章中,我们学习利用色光三原色调整图片颜色的方法.这一篇文章的代码将在上一篇的基础上继续书写.如果你还没读过,可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4883422.html 在本篇中,我们继续学习图片颜色的变换方法,利用颜色矩阵将更加细致的调整图片颜色.其实颜色矩阵变换是图片颜色变化的基础原理.在下面我们将详细说一说. 一.基础知识 在用色光三原色来变换图片颜色中,涉及到一个类ColorMatrix,也就是颜色矩阵的意思.而a

关于矩阵的本质

前不久chensh出于不可告人的目的,要充当老师,教别人线性代数.于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次.很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情. 可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊! 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个"前无古人,后无来者"的古怪

理解矩阵

前不久chensh出于不可告人的目的,要充当老师,教别人线性代数.于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次.很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情. 可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊! 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个"前无古人,后无来者"的古怪

我们可以推测矩阵乘法最优解的时间复杂度么?

矩阵乘法的定义为: 按照定义,一个简单的方阵乘法伪代码如下: int A[48,48],B[48,48],C[48,48] for i in 1 to 48 for j in 1 to 48 for k in 1 to 48 C[i,j]+=B[i,k]*A[k,j] 三层嵌套,时间复杂度为O(n3),n为方阵的边长. 由于矩阵乘法的广泛运用,如何优化矩阵乘法运算,有重要的意义.在不考虑矩阵的疏密程度下,如何有效减少矩阵乘法中算术乘法的使用次数是一个主要的优化方向. 最早的矩阵乘法优化算法,是由