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);
    }
};
相关推荐
CIO_Alliance4 小时前
AI深度系列(2)| CNN卷积池化感受野原理:从局部感知到全局视野
人工智能·深度学习·线性代数·算法·计算机视觉·企业ai转型·企业cio联盟
民乐团扒谱机4 小时前
【微科普】压缩感知(CS):违反了奈奎斯特采样定理?不先采集也能还原信号?大白话讲透稀疏采样、L1重建与OMP,一文吃透附代码
python·神经网络·线性代数·算法·数学建模·压缩感知·奈奎斯特
Jasmine_llq1 天前
《P11248 [GESP202409 七级] 矩阵移动》
线性代数·三维 dp·转移来源上i‑1j左边ij‑1·当前字符为两个分支改或者不改·初值全部赋值负无穷,代表不可达·起点特殊初始化·答案取dpnm0]里最大值
ZJU_统一阿萨姆2 天前
【算子开发】矩阵乘法(GEMM)入门与共享内存优化
人工智能·线性代数·矩阵·系统架构
招财小梗2 天前
AI矩阵获客,品牌连锁落地方案揭秘
大数据·人工智能·矩阵
云登指纹浏览器2 天前
做TikTok矩阵号用什么指纹浏览器?2026年实战横评
线性代数·矩阵
民乐团扒谱机4 天前
【微实验】线性代数之——奇异值分解 SVD:穿透数据迷雾的“X光机”,附 MATLAB 全流程仿真
线性代数·算法·matlab
随风而飘1864 天前
罗德与施瓦茨 R&S ZN-Z84多端口可配置射频开关矩阵
线性代数·矩阵
玫瑰互动GEO5 天前
从分词逻辑到权重计算:小红书搜索SEO的技术原理与工程实现
矩阵·dubbo
l1t5 天前
利用DuckDB luajit插件和openblas库对表中数据做矩阵运算
数据库·线性代数·矩阵·duckdb