美文网首页
顺时针打印矩阵

顺时针打印矩阵

作者: senninha | 来源:发表于2017-05-17 11:32 被阅读22次
1.设置四个变量,左,右,上,下 来记录当前打印到哪个边界
2外循环里包裹从右到左,从上到下,从右到左,从下到上,四个子循环
3.外循环继续的条件是 (up <= down && left <= right)
4.可能是坑:

当数组是{1,2,3,4}(就是行数是单数的情况下)这样的时候,进入从右到左的时候(子循环3)需要先判断当前的down和up变量是否满足关系,不然就会打印和和本次从左到右重复的内容
同理,列数是单数的情况下,也需要在子循环4加判断条件

public static void printClockwise(int[][] array){
        int left = 0 ;
        int right = array[0].length - 1;
        int up = 0;
        int down = array.length - 1;
        
        int index = 0;
        
        while(right >= left && down >= up){
            //子循环1,从左到右
            index = left;
            while(index <= right){
                System.out.print(array[up][index] + " ");
                index ++;
            }
            up++;
            
            //子循环2,从上到下
            index = up;
            while(index <= down){
                System.out.print(array[index][right] + " ");
                index++;
            }
            right--;
            
            //子循环3,从右到左,避免入坑,需要加这个判断条件防止打印出和从左到右一样的循环
            if (up <= down) {
                index = right;
                while (index >= left) {
                    System.out.print(array[down][index] + " ");
                    index--;
                }
                down--;
            }
            
            //子循环4,同理,加判断语句
            if (left <= right) {
                index = down;
                while (index >= up) {
                    System.out.print(array[index][left] + " ");
                    index--;
                }
                left++;
            }
        }
    }

相关文章

  • 【不熟练】知识迁移能力-顺时针打印矩阵

    顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: ...

  • 《剑指offer》— JavaScript(19)顺时针打印矩阵

    顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: ...

  • 剑指offer——顺时针打印矩阵

    剑指offer——顺时针打印矩阵 题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,...

  • 矩阵

    题一:顺时针转圈打印矩阵 题二:“之“字形打印矩阵"之"字形打印矩阵两个指针:(sr,sc)先从第一行往右移动,到...

  • 《剑指offer》(十九)-顺时针打印矩阵(java)

    顺时针打印矩阵 考点:数组 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入...

  • 顺时针打印矩阵

    题目:顺时针打印矩阵(算法课第四课) 对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩...

  • 顺时针打印矩阵

    题目来源:牛客网--顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,...

  • 剑指Offer--顺时针打印矩阵

    顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X ...

  • JZ-019-顺时针打印矩阵

    顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X ...

  • 顺时针打印矩阵

    原题链接顺时针打印矩阵 题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4...

网友评论

      本文标题:顺时针打印矩阵

      本文链接:https://www.haomeiwen.com/subject/vihdxxtx.html