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

顺时针打印矩阵

https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a

import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printMatrix(int [][] matrix) {
       ArrayList<Integer> res = new ArrayList<>();
       if(matrix == null || matrix.length == 0 || matrix[0].length == 0){
            return res;
        }
        int rows = matrix.length-1;
        int column = matrix[0].length-1;
        int left = 0;
        int right = 0;
        int up = 0;
        int down = 0;
        for (int i = 0;;i++) {
            right = column-i;
            left = i;
            up = i;
            down = rows-i;
            if (left>right||up>down||right<0||down<0) {
                break;
            }
            //左往右
            for (int j = left; j <= right; j++) {
                res.add(matrix[up][j]);
            }

            //上往下
            for (int j = up+1; j <= down; j++) {
                res.add(matrix[j][right]);
            }

            //右往左, 必须加上 上小于下
            for (int j = right-1; j>=left&&up<down; j--) {
                res.add(matrix[down][j]);
            }

            //下往上,必须加上左小于右
            for (int j = down-1; j > up&&left<right; j--) {
                res.add(matrix[j][left]);
            }

            

        }
        return res;
    }
}

全部评论

相关推荐

皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
珩珺:那些经历都太大太空了,实习的情况不了解,大创项目连名字、背景、目的及意义都没体现出来;地摊经济更是看完连卖的什么产品都不知道,项目成果直接写营收多少都更直观真实一点;后面那个校文体部的更是工作内容是组织活动整理流程,成果变成了当志愿者,而且你们学校本科学生会大一入学就直接当部长吗,志愿里面还提到了疫情防控,全面解封是22年12月的事情,可能时间上也有冲突。可能你花了钱人家就用AI给你随便写了点内容改了一下,没什么体现个性化的点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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