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

运行结果


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

相关推荐
糖葫芦君17 分钟前
Policy Gradient【强化学习的数学原理】
算法
whoarethenext38 分钟前
使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
开发语言·c++·faiss
向阳@向远方2 小时前
第二章 简单程序设计
开发语言·c++·算法
Mr_Xuhhh3 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
github_czy3 小时前
RRF (Reciprocal Rank Fusion) 排序算法详解
算法·排序算法
liulilittle3 小时前
VGW 虚拟网关用户手册 (PPP PRIVATE NETWORK 基础设施)
开发语言·网络·c++·网关·智能路由器·路由器·通信
许愿与你永世安宁3 小时前
力扣343 整数拆分
数据结构·算法·leetcode
爱coding的橙子3 小时前
每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
算法·leetcode·职场和发展
ruanjiananquan993 小时前
c,c++语言的栈内存、堆内存及任意读写内存
java·c语言·c++
满分观察网友z4 小时前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法