- public class Left_Trangular_Matrix {
- // matrix不用第一列
- int[] m ;
- int n ;
- public static void main(String[] args) {
- int[][] arr = {{-1,-1,-1,-1,-1},
- {-1,1,0,0,0},
- {-1,2,1,0,0},
- {-1,1,2,4,0},
- {-1,4,5,5,5}};
- Left_Trangular_Matrix rTM = new Left_Trangular_Matrix(arr);
- System.out.println("左下三角方式 :");
- for(int i[] : arr ){
- for(int value : i){
- if(value != -1)
- System.out.print(value+" ");
- }
- System.out.println();
- }
- System.out.println("一維方式 :");
- for(int i = 1 ; i <rTM.n+1; i++){
- for(int j = 1 ; j <= i ; j++ ){
- System.out.print(rTM.getValue(i, j)+" , ");
- }
- }
- }
- int getValue(int i , int j ){
- int k ;
- k = i*(i-1)/2+j;
- return m[k-1];
- }
- Left_Trangular_Matrix(int[][] matrix ){
- int tmp = 0 ;
- n = (matrix.length-1) ;
- m = new int[n*(n+1)/2];
- for(int i = 1 ; i < matrix.length ; i++ ){
- for(int j = 1 ; j < matrix.length ; j++ ){
- if(matrix[i][j] != 0){
- m[tmp] = matrix[i][j] ;
- tmp++;
- }
- }
- }
- }
- }
2017年7月29日 星期六
(Java) (資料結構) 左上三角
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。