zoukankan      html  css  js  c++  java
  • 【算法】斜线打印二维数组

    瑛太莱笔试

    斜线打印二维数组

    • 题目描述

      现有一个m*n的数组,请按照斜对齐打印数组。例如一个a[3][4]的数组,
      1 2 3 4

      5 6 7 8

      9 10 11 12

      应按照1,2,5,3,6,9,4,7,10,8,11,12的顺序打印数组。


    • 输入描述


    • 输出描述


    • 示例


    • 代码

      import java.util.Scanner;
      
      //斜对角线打印矩阵
      public class printMatrix {
          public static void main(String[] args) {
              // 测试用例:3x4矩阵
      //        int a[][] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
              //4x4矩阵
      //        int a[][] = {{1, 2, 3, 4},
      //                    {5, 6, 7, 8},
      //                    {9, 10, 11, 12},
      //                    {13,14,15,16}};
              //3x2矩阵
      //        int a[][] = {{1, 2},
      //                    {3, 4},
      //                    {5, 6}};
      
              Scanner s = new Scanner(System.in);
              // m*n矩阵
              int m =s.nextInt();
              int n = s.nextInt();
              
              int a[][]=new int[m][n];
              for(int i=0;i<m;i++){
                  for(int j=0;j<n;j++){
                      a[i][j]=s.nextInt();
                  }
              }
      
              printt(m,n,a);
      
          }
      
          public static void printt(int m, int n, int[][] a) {
      
              // 副对角线及以上部分
              // 第0列到n-1列
              for (int k = 0; k < n; k++) {
                  for (int i = 0, j = k; i < m && j >= 0; i++, j--) {
                      System.out.print(a[i][j]);
                      System.out.print(",");
                  }
              }
      
              // 副对角线以下部分
              // 第1行到m-1行
              for (int k = 1; k < m; k++) {
                  for (int i = k, j = n - 1; i < m && j >= 0; i++, j--) {
                      System.out.print(a[i][j]);
      
                      //最后一个元素后不打印逗号
                      if (!(i == m - 1 && j == n - 1))
                          System.out.print(",");
                  }
              }
          }
      }
      

  • 相关阅读:
    Android中ProgressBar显示小数的方法
    Android屏幕适配-安卓切图
    android -services
    Java 位移运算符
    异常、集合、数据结构
    常用类
    编码
    String类
    Android-1
    ButterKnife注解式绑定控件
  • 原文地址:https://www.cnblogs.com/musecho/p/14307354.html
Copyright © 2011-2022 走看看