Java 順時針列印矩陣

2021-07-14 21:17:21 字數 1219 閱讀 4287

對於乙個矩陣,請設計乙個演算法從左上角(mat[0][0])開始,順時針列印矩陣元素。

給定int矩陣mat,以及它的維數nxm,請返回乙個陣列,陣列中的元素為矩陣元素的順時針輸出。

測試樣例:

[[1,2],[3,4]],2,2
返回:[1,2,4,3]

public static void main(string args)

system.out.println();

}calc(mat,n,m);

}public static void calc(int mat, int n, int m)

}listup_left = new arraylist();

listup_right = new arraylist();

listdown_left = new arraylist();

listdown_right = new arraylist();

//如果 矩陣是胖的 或者是正方形 ,就是行數 小於 列數,或者 行數等於 列數

if(m >= n)

for(int i = 0 ; i < row_down ; i++)

for (int i = 0 ; i < up_left.size() ; i++)

for(int a = upleft.y;a <= upright.y ; a++)

if(downleft != null)

for(int a = downright.y-1;a >= downleft.y ; a--)

for(int a = downleft.x-1;a >= upleft.x+1 ; a--)}}

}//是瘦的 行數大於列數

else

for(int i = 0 ; i < col_down ; i++)

for (int i = 0 ; i < up_left.size(); i++)

if(upright != null)

for(int a = upright.x+1;a <= downright.x ; a++)

for(int a = downright.y-1;a >= downleft.y ; a--)

for(int a = downleft.x-1;a >= upleft.x+1 ; a--)

}else}}

}int result = new int[m*n];

for (int j = 0;j

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...

順時針列印矩陣

from 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次列印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。網上聽說聽到包括autod...