zoukankan      html  css  js  c++  java
  • 19顺时针打印矩阵

    题目描述

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字
     
     
     
     
     1 import java.util.ArrayList;
     2 public class Solution {
     3     ArrayList<Integer> list = new ArrayList<Integer>();
     4     public ArrayList<Integer> printMatrix(int [][] matrix) {
     5       int rows = matrix.length;
     6       int cols = matrix[0].length;
     7       int start = 0;    
     8        while(cols>start*2&&rows>start*2){
     9            Cicle(matrix,cols,rows,start);
    10            start++;
    11        }
    12         return list;
    13     }
    14     private void Cicle(int [][] matrix, int rows, int cols,int start){
    15         int endx = rows-start-1;
    16         int endy = cols-start-1;
    17        for(int i  = start;i<=endx;i++)
    18            list.add(matrix[start][i]);
    19        for(int i  = start+1;i<=endy;i++)
    20            list.add(matrix[i][endx]);
    21        if(start<endx && start<endy){
    22            for(int i  = endx-1;i>=start;i--)
    23            list.add(matrix[endy][i]);
    24        } 
    25         if(start<endx && start<endy){
    26            for(int i  = endy-1;i>=start+1;i--)
    27            list.add(matrix[i][start]);
    28        }
    29     }
    30     
    31 }
  • 相关阅读:
    AtCoder Regular Contest 077
    FWT模板
    hackerrank Alex对战Fedor
    hackerrank 训练军队
    hackerrank Diameter Minimization
    hackerrank Ticket
    java基础 布局管理器
    java基础 super 子类调用父类
    java基础 字符串 “==” 和 “equals” 比较
    java基础 作业(一)
  • 原文地址:https://www.cnblogs.com/zle1992/p/7877666.html
Copyright © 2011-2022 走看看