Spiral Matrix
来源:互联网 发布:java 重用锁 编辑:程序博客网 时间:2024/06/06 02:39
题目
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]
.
方法
需要注意行列矩阵的情况。public List<Integer> spiralOrder(int[][] matrix) { List<Integer> list = new ArrayList<Integer>(); if (matrix == null) { return list; } int lenX = matrix.length; if (lenX == 0) { return list; } int lenY = matrix[0].length; int k = 0; int len = Math.min(lenX, lenY); while (k < (len + 1) / 2) { for (int j = k; j < lenY - k; j++) { list.add(matrix[k][j]); } for (int i = k + 1; i < lenX - k; i++) { list.add(matrix[i][lenY - k - 1]); } for (int j = lenY - 1 - k - 1; j >= k && lenX - 1 - k > k; j--) { list.add(matrix[lenX - 1 - k][j]); } for (int i = lenX - 1 - k - 1; i > k && k < lenY - k - 1; i--) { list.add(matrix[i][k]); } k++; } return list; }
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
- 10步让你成为更优秀的程序员
- PHP--->基础
- [LeetCode] Search a 2D Matrix
- stl 统计一栋楼里的信息
- 在已有布局中动态添加控件
- Spiral Matrix
- linux下的一些小问题的小结
- 第1次实验——NPC问题(回溯算法、聚类分析)
- CentOS 注销在线用户
- 程序员的样子
- 文字还在,不会离开
- 【Matlab】将彩色图像转换为灰度图像
- POJ 1041 John's trip(欧拉回路+输出路径)
- 列表、集合与数组之间的转化