题解 | #顺时针打印矩阵#

顺时针打印矩阵

https://www.nowcoder.com/practice/97e7a475d2a84eacb60ee545597a8407

class Printer {
  public:
    vector<int> clockwisePrint(vector<vector<int> > mat, int n, int m) {
        vector<int> ans;
        int t = 1;
        do {
            for (int i = t - 1; i <= m - t - 1; i++) {
                ans.push_back(mat[t - 1][i]);
            }
            for (int i = t - 1; i <= n - t - 1; i++) {
                ans.push_back(mat[i][m - t]);
            }
            for (int i = m - t; i >= t; i--) {
                ans.push_back(mat[n - t][i]);
            }
            for (int i = n - t; i >= t; i--) {
                ans.push_back(mat[i][t - 1]);
            }
            t++;
        } while (t * 2 <= n && t * 2 <= m);
        if (n % 2 == 1 && n <= m) {
            for (int i = t - 1; i <= m - t; i++) {
                ans.push_back(mat[t - 1][i]);
            }
        }
        if (m % 2 == 1 && m < n) {
            for (int i = t-1; i <= n - t; i++) {
                ans.push_back(mat[i][m - t]);
            }
        }
        return ans;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
06-06 03:40
已编辑
电子科技大学 Java
在秋招的小白菜很想养修勾:一眼 苍穹外卖+谷粒商城,项目换一换吧,可以找一些付费知识星球博主带带,避免烂大街。多投投大厂,背背八股,你这学历乱杀了,等实习经验到位,到时候大厂闭眼选
投递美团等公司9个岗位
点赞 评论 收藏
分享
ResourceUtilization:四六级不愧是大学最有用的证之一
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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