leetcode日记(42)螺旋矩阵

我使用的是递归,每次递归遍历一圈矩阵,将遍历结果塞进结果vector中,每次遍历修改上下左右边界,直至遍历后其中两边界重合或交错。

cpp 复制代码
class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        int m=matrix.size();
        int n=matrix[0].size();
        vector<int> result;
        Order(result,matrix,m-1,n-1,0,0);
        return result;
    }
    void Order(vector<int> &result,vector<vector<int>> matrix,int m,int n,int mm,int nn){
        if(mm==nn&&m==n&&mm==m) {result.push_back(matrix[mm][nn]);return ;}
        if(mm==m) {for(int i=nn;i<=n;i++) result.push_back(matrix[mm][i]);return ;}
        if(nn==n) {for(int i=mm;i<=m;i++) result.push_back(matrix[i][n]);return ;}
        for(int i=nn;i<n;i++) result.push_back(matrix[mm][i]);
        for(int i=mm;i<m;i++) result.push_back(matrix[i][n]);
        for(int i=n;i>nn;i--) result.push_back(matrix[m][i]);
        for(int i=m;i>mm;i--) result.push_back(matrix[i][nn]);
        if(mm==m-1||nn==n-1) return ;
        if(m>mm&&n>nn) Order(result,matrix,m-1,n-1,mm+1,nn+1);
    }
};
相关推荐
covco12 小时前
全域矩阵运营系统多租户权限体系架构设计与轻量化落地实践
微服务·矩阵·权限管控
三维重建-光栅投影15 小时前
最小二乘中的矩阵求导基础总结
线性代数·机器学习·矩阵
covco16 小时前
AI 原生营销矩阵系统:分布式架构设计与核心模块实现
人工智能·分布式·矩阵
covco16 小时前
中小团队短视频矩阵落地难点与轻量化技术解决方案
矩阵
小雅痞16 小时前
[Java][Leetcode middle] 73. 矩阵置零
java·leetcode·矩阵
star learning white18 小时前
线性代数5
线性代数
洛水水1 天前
【力扣100题】23. 螺旋矩阵
算法·leetcode·矩阵
科技互联.2 天前
2026年5月观察:四大头部工具如何重塑短视频矩阵的“生产规则”
大数据·人工智能·矩阵
captain_AIouo2 天前
Captain AI全功能矩阵覆盖OZON运营每一个关键节点
大数据·人工智能·经验分享·矩阵·aigc
洛水水2 天前
【力扣100题】22. 矩阵置零
算法·leetcode·矩阵