压缩矩阵 ,将矩阵存储为一维矩阵,同时可以解压缩
其实题目记不太清了 。。。。刚刚开始做这道题的时候 ,我是用n*n矩阵来储存数据 ,然后定义了一个压缩方法和解压方法,交完作业老师说,这道题的原意不是这样。。。。。。你应该是用一个一维数组存储数据,这样才能达到节省空间的目的,然后输出的时候显示式n*n的矩阵。。。。然后我又重新改了,以下是我的答案,如有错误,添加微信macforyou1。
Matrix.java
public class Matrix {
int r;
int c;
int[] values;//定义一个一维数组储存元素
public Matrix() {
r = 1;
c = 1;
values = new int[1];
values[0] = 1;//定义的构造函数为1*1矩阵,默认值为0
}
public Matrix(int r, int c, int[] values) {
super();
this.r = r;
this.c = c;
this.values = values;
}
//将一维数组解压缩为上三角矩阵
public static void recover(Matrix b) throws Exception{
int length = b.values.length;
int n = (int) Math.sqrt(2 * length);
int[][] a