• 腾讯//螺旋矩阵


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

    示例 1:

    输入:
    [
     [ 1, 2, 3 ],
     [ 4, 5, 6 ],
     [ 7, 8, 9 ]
    ]
    输出: [1,2,3,6,9,8,7,4,5]
    

    示例 2:

    输入:
    [
      [1, 2, 3, 4],
      [5, 6, 7, 8],
      [9,10,11,12]
    ]
    输出: [1,2,3,4,8,12,11,10,9,5,6,7]
    class Solution {
    public:
        vector<int> spiralOrder(vector<vector<int>>& matrix) {
            vector<int> res;
            if(matrix.empty()||matrix[0].empty())
                return res;
            int m = matrix.size(), n = matrix[0].size();
            int c = m > n? (n+1)/2:(m+1)/2;
            int p = m, q = n;
            for(int i = 0; i < c; i++,p-=2,q-=2){
                for(int col=i;col<i+q;col++)
                    res.push_back(matrix[i][col]);
                for(int row=i+1;row<i+p;row++)
                    res.push_back(matrix[row][i+q-1]);
                if(p==1||q==1)
                    break;
                for(int col=i+q-2;col>=i;col--)
                    res.push_back(matrix[i+p-1][col]);
                for(int row=i+p-2;row>i;row--)
                    res.push_back(matrix[row][i]);
            }
            return res;
        }
    };
  • 相关阅读:
    Linux-Rsync文件同步
    Linux-PPTP服务器搭建
    Excle破解忘记保护密码的方法。
    Linux-多维度服务器调优
    postman测试钉钉审批接口
    linux 常用服务器部署
    DRF
    15.ES6模块
    14.class类
    13. async用法
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602494.html
Copyright © 2020-2023  润新知