Leetcode—54.螺旋矩阵【中等】

2023每日刷题(七十)

Leetcode---54.螺旋矩阵

实现代码

cpp 复制代码
class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        vector<int> ans;
        int m = matrix.size();
        int n = matrix[0].size();
        int row = 0, col = 0;
        int flag = 0;
        while(1) {
            // 右移
            for(; col < n; col++) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            col--;
            // 下移
            row++;
            for(; row < m; row++) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            row--;
            // 左移
            col--;
            for(; col >= 0; col--) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            col++;
            // 上移
            row--;
            for(; row >= 0; row--) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            row++;
            col++;
            if(flag > 0) {
                break;
            }
            flag++;
        }
        return ans;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
surtr12 小时前
常见排序模板(冒泡排序,希尔排序,堆排序,归并排序,快速排序)
数据结构·算法·贪心算法·排序算法
源代码•宸2 小时前
goframe框架签到系统项目开发(每日签到添加积分和积分记录、获取当月最大连续签到天数、发放连续签到奖励积分、实现签到日历详情接口)
数据库·经验分享·redis·中间件·golang·dao·goframe
水饺编程2 小时前
Visual Studio 软件操作:添加附加依赖项
c语言·c++·windows·visual studio
fengfuyao9852 小时前
经典MUSIC算法程序以及测角精度与阵元间距、阵元数、信噪比、快拍数等的关系
算法
十八岁讨厌编程3 小时前
【算法训练营 · 补充】LeetCode Hot100(下)
算法·leetcode·职场和发展
-To be number.wan3 小时前
C++ 进阶技巧:如何让 cout << 自定义对象 正常输出?
开发语言·c++
一路往蓝-Anbo3 小时前
C语言从句柄到对象 (三) —— 抛弃 Malloc:静态对象池与索引句柄的终极形态
c语言·开发语言·数据结构·stm32·单片机·算法
序属秋秋秋3 小时前
《Linux系统编程之进程控制》【进程创建 + 进程终止】
linux·c语言·c++·操作系统·进程·进程创建·进程终止
fantasy_arch3 小时前
SVT-AV1 B帧决策和mini-GOP决策分析
算法·av1
声声codeGrandMaster3 小时前
逻辑回归-泰坦尼克号
算法·机器学习·逻辑回归