力扣.旋转矩阵

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;
    }
};

欢迎各位读者提出意见。

(菜菜奋斗小日记)

相关推荐
fail_to_code22 分钟前
递归法的递归函数何时需要返回值
算法
C137的本贾尼34 分钟前
(每日一道算法题)二叉树剪枝
算法·机器学习·剪枝
BUG收容所所长2 小时前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
XRZaaa2 小时前
常见排序算法详解与C语言实现
c语言·算法·排序算法
@我漫长的孤独流浪2 小时前
数据结构测试模拟题(4)
数据结构·c++·算法
智驱力人工智能2 小时前
智慧零售管理中的客流统计与属性分析
人工智能·算法·边缘计算·零售·智慧零售·聚众识别·人员计数
SY师弟3 小时前
51单片机基础部分——矩阵按键检测
嵌入式硬件·矩阵·51单片机
Yxh181377845543 小时前
抖去推--短视频矩阵系统源码开发
人工智能·python·矩阵
WindSearcher3 小时前
大模型微调相关知识
后端·算法
取酒鱼食--【余九】4 小时前
rl_sar实现sim2real的整体思路
人工智能·笔记·算法·rl_sar