螺旋矩阵

作者: Ziv_紫藤花开 | 来源:发表于2021-04-13 17:53 被阅读0次

题目信息

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

示例 1:


matrix3_4.jpg

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:[1,2,3,4,8,12,11,10,9,5,6,7]

解题思路

  1. 暴力破解:
  2. 无效操作分析:
  3. 优化方法:
  4. 考虑边界
  5. 编码实现

代码

class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        List<Integer> result = new ArrayList<>();
        // 判断矩阵非空
        if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
            return result;
        }

        // 获取循环数量
        int rows = matrix.length, columns = matrix[0].length;
        int left = 0, right = columns - 1, top = 0, bottom = rows - 1;
        while (left <= right && top <= bottom){
            // 上
            for (int column = left; column <= right; column++) {
                result.add(matrix[top][column]);
            }
            // 右
            for (int row = top + 1; row <= bottom; row++) {
                result.add(matrix[row][right]);
            }
            if (left < right && top < bottom) {
                // 下
                for (int column = right - 1; column > left; column--) {
                    result.add(matrix[bottom][column]);
                }
                // 左
                for (int row = bottom; row > top; row--) {
                    result.add(matrix[row][left]);
                }
            }
            left++;
            right--;
            top++;
            bottom--;
        }
        return result;
    }
}

题目来源:力扣(LeetCode)
题目链接:https://leetcode-cn.com/problems/spiral-matrix

商业转载请联系官方授权,非商业转载请注明出处。

相关文章

  • Python实现螺旋矩阵

    螺旋矩阵 什么是螺旋矩阵? 螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大...

  • 螺旋矩阵

    螺旋矩阵 1.想法: 对于矩阵的螺旋我们可以规约为4个方向 2.代码:

  • 螺旋矩阵

    递归 非递归

  • 螺旋矩阵

    给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1...

  • 螺旋矩阵

    题目描述:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。...

  • 螺旋矩阵

    给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1...

  • 螺旋矩阵

    原文地址,我的个人博 1.题目 2.分析 上图展示了一轮完整的顺时针螺旋遍历的过程,整个过程可以分为如图所示的四个...

  • 螺旋矩阵

    写在前面 2019年,年初到蚂蚁金服面试测试工程师的职位,现场有一道笔试题是求螺旋矩阵,当时大概和面试官说了一下思...

  • 螺旋矩阵

    题目信息 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 ...

  • 16/17,螺旋矩阵Ⅰ/Ⅱ/数组与字符串

    螺旋矩阵 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。...

网友评论

    本文标题:螺旋矩阵

    本文链接:https://www.haomeiwen.com/subject/ftpghltx.html