力扣.旋转矩阵

54. 螺旋矩阵 - 力扣(LeetCode)

代码区:

cpp 复制代码
class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        vector<int> ans;
        int hang=matrix.size();
        int lie=matrix[0].size();
        int start_hang=0,start_lie=0,end_hang=hang-1,end_lie=lie-1;
        int step=hang*lie;
        while(step>=1){
            if(start_hang > end_hang || start_lie > end_lie) break;
            for(int i=start_lie;i<=end_lie;i++){//行不变,列增加
                ans.push_back(matrix[start_hang][i]);
                step--;
            }
            start_hang++;
            if(start_hang > end_hang || start_lie > end_lie) break;
            for(int i=start_hang;i<=end_hang;i++){//列不变,行增加
                ans.push_back(matrix[i][end_lie]);
                step--;
            }
            end_lie--;
            if(start_hang > end_hang || start_lie > end_lie) break;
            for(int i=end_lie;i>=start_lie;i--){//行不变,列减小
                ans.push_back(matrix[end_hang][i]);
                step--;
            }
            end_hang--;
            if(start_hang > end_hang || start_lie > end_lie) break;
            for(int i=end_hang;i>=start_hang;i--){//列不变,行增加
                ans.push_back(matrix[i][start_lie]);
                step--;
            }
            start_lie++;
        }
        return ans;
    }
};

欢迎各位读者提出意见。

(菜菜奋斗小日记)

相关推荐
weixin_3077791310 分钟前
软件演示环境动态扩展与成本优化:基于目标跟踪与计划扩展的AWS Auto Scaling策略
算法·云原生·云计算·aws
Carl_奕然11 分钟前
【机器视觉】一文掌握常见图像增强算法。
人工智能·opencv·算法·计算机视觉
放羊郎11 分钟前
人工智能算法优化YOLO的目标检测能力
人工智能·算法·yolo·视觉slam·建图
无敌最俊朗@1 小时前
友元的作用与边界
算法
Miraitowa_cheems1 小时前
LeetCode算法日记 - Day 104: 通配符匹配
linux·数据结构·算法·leetcode·深度优先·动态规划
程序员东岸1 小时前
从零开始学二叉树(上):树的初识 —— 从文件系统到树的基本概念
数据结构·经验分享·笔记·学习·算法
甄心爱学习2 小时前
数据挖掘11-分类的高级方法
人工智能·算法·分类·数据挖掘
爪哇部落算法小助手3 小时前
每日两题day44
算法
不穿格子的程序员4 小时前
从零开始写算法——二分-搜索二维矩阵
线性代数·算法·leetcode·矩阵·二分查找
dingzd954 小时前
跨平台账号矩阵高效协同术
线性代数·矩阵·web3·facebook·tiktok·instagram·clonbrowser