顺时针打印矩阵
来源:互联网 发布:ubuntu 拷贝文件命令 编辑:程序博客网 时间:2024/06/02 05:13
题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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.
思路:
待补充
代码:
import java.util.ArrayList;import java.util.ArrayList;public class Solution { ArrayList<Integer> ret = new ArrayList<Integer>(); public ArrayList<Integer> printMatrix(int [][] matrix) { if(matrix == null || matrix.length <= 0 || matrix[0].length <= 0){ return ret; } int start = 0; int rows = matrix.length; int cols = matrix[0].length; while(cols > start * 2 && rows > start * 2){ PrintMatrixInCircle(matrix,cols,rows,start); ++start; } return ret; } public void PrintMatrixInCircle(int[][] matrix,int cols,int rows,int start){ int endX = cols - 1 - start; int endY = rows - 1 - start; for(int i = start; i <= endX;++i){ ret.add(matrix[start][i]); } if(start < endY){ for(int i = start + 1;i <= endY;++i){ ret.add(matrix[i][endX]); } } if(start < endX && start < endY){ for(int i = endX - 1;i >= start; --i){ ret.add(matrix[endY][i]); } } if(start < endX && start < endY - 1){ for(int i = endY - 1; i >= start + 1; --i){ ret.add(matrix[i][start]); } } }}
阅读全文
0 0
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 矩阵顺时针打印
- 顺时针打印矩阵
- 顺时针打印矩阵[算法]
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 字符串
- 工作中错误总结
- 德勤收购云咨询公司Day1 Solutions
- Day9-29.Shift operators
- jquery克隆对象
- 顺时针打印矩阵
- win10系统下在vs2015中配置Caffe的详细过程
- JAVA中判断字符串是否为数字的方法
- SnapHelper,对RecyclerView的功能拓展
- 【系统定制】创建自己的安装包组
- HttpURLConnection用法详解
- 《JavaScript高级程序设计》学习笔记(第二章)
- JSP里的小知识总结(一)
- 无意中发现一款以太坊挖矿神器-ETH超级矿工,支持ETH,ETC+SC等各种双挖(10.2内核)破解抽水