题解 | #螺旋矩阵#

螺旋矩阵

https://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31

public:
    vector<int> spiralOrder(vector<vector<int> > &matrix) {
        vector<int> ans;
        int col=matrix.size();
        int row=matrix[0].size();
        if(col==0 || row==0)
            return {};
        //定义上下左右四个边界
        int u=0;
        int d=col-1;
        int l=0;
        int r=row-1;
        while(true)
        {
            //顺序一定是右下左上
            //向右边
            for(int i=l; i<=r; i++)
                ans.push_back(matrix[u][i]);
            //重新定义上边界
            if(++u>d)   break;
            
            //向下
            for(int i=u; i<=d; i++)
                ans.push_back(matrix[i][r]);
            //定义右边界
            if(--r<l)   break;
            
            for(int i=r; i>=l; i--)
                ans.push_back(matrix[d][i]);;
            if(--d<u)   break;

            for(int i=d; i>=u; i--)
                ans.push_back(matrix[i][l]);
            if(++l>r)   break;
        }
        return ans;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 14:35
点赞 评论 收藏
分享
07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
投了多少份简历才上岸
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务