日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《漫画算法2》源码整理-5 二维数组螺旋输出

發布時間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《漫画算法2》源码整理-5 二维数组螺旋输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?二維數組螺旋輸出

public class SpiralOrder {public static List<Integer> spiralOrder(int[][] matrix) {List<Integer> list = new ArrayList<Integer>();//當二維數組是空或任何一個維度是0,直接返回if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {return list;}//m是矩陣的行數int m = matrix.length;//n是矩陣的列數int n = matrix[0].length;//二維數組的層數,取決于行和列的較小值int size = (Math.min(m, n)+1)/2;//大循環,從外向內逐層遍歷矩陣for(int i=0; i<size; i++) {//從左到右遍歷“上邊”for (int j=i; j<n-i; j++) {list.add(matrix[i][j]);}//從上到下遍歷“右邊”for (int j=i+1; j<m-i; j++) {list.add(matrix[j][(n-1)-i]);}//從右到左遍歷“下邊”for (int j=i+1; j<n-i && (m-1)-i>i; j++) {list.add(matrix[(m-1)-i][(n-1)-j]);}//從下到上遍歷“左邊”for (int j=i+1; j<m-1-i && i<(n-1)-i; j++) {list.add(matrix[(m-1)-j][i]);}}return list;}public static void main(String[] args) {int[][] matrix = {{ 1, 2, 3, 4, 5 },{ 6, 7, 8, 9, 10 },{ 11, 12, 13, 14, 15 },{ 16, 17, 18, 19, 20 }};int[][] matrix2 = {{ 1, 2, 3 },{ 4, 5, 6 },{ 7, 8, 9 },{ 10, 11, 12 },{ 13, 14, 15 }};List<Integer> resultList1 = spiralOrder(matrix);System.out.println(Arrays.toString(resultList1.toArray()));List<Integer> resultList2 = spiralOrder(matrix2);System.out.println(Arrays.toString(resultList2.toArray()));} }

總結

以上是生活随笔為你收集整理的《漫画算法2》源码整理-5 二维数组螺旋输出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。