Spiral Matrix
来源:互联网 发布:二次元图片软件 编辑:程序博客网 时间:2024/05/29 11:16
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]
You should return [1,2,3,6,9,8,7,4,5]
.
java
class Solution { public List<Integer> spiralOrder(int[][] matrix) { List<Integer> path = new ArrayList<>(); if (matrix == null || matrix.length == 0 || matrix[0] == null || matrix[0].length == 0) { return path; } int start = 0; int row = matrix.length; int column = matrix[0].length; while (row > 2 * start && column > 2 * start) { fillPath(matrix, start++, path); } return path; } private void fillPath(int[][] matrix, int start, List<Integer> path) { int endX = matrix[0].length - start - 1; int endY = matrix.length - start - 1; // 从左到右 for (int i = start; i <= endX; i++) { path.add(matrix[start][i]); } // 从下到上 if (start < endY) { for (int i = start + 1; i <= endY; i++) { path.add(matrix[i][endX]); } } // 从右到左 if (start < endX && start < endY) { for (int i = endX - 1; i >= start; i--) { path.add(matrix[endY][i]); } } // 从上到下 if (start < endX && start < endY - 1) { for (int i = endY - 1; i > start; i--) { path.add(matrix[i][start]); } } }}
阅读全文
0 0
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directory
- 浅谈Linux服务器问题解决
- JZOJ 5387【GDOI2018模拟9.23】动态图
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名
- cmder windows下命令行神器
- Spiral Matrix
- Windows安装和配置JDK(详细图解)
- Nginx的优缺点
- CSS(三)
- 淘宝秒杀系统内幕
- Cause: java.sql.SQLException: 无效的列类型: 1111(Mybatis中insert插入空值时,需要指定JdbcType)
- 兄弟连学Python(2)—分支结构
- 53. Maximum Subarray
- bzoj1005