其他分享
首页 > 其他分享> > 2022-6-12 真题练习

2022-6-12 真题练习

作者:互联网

MT9 二维数组打印  

描述

有一个二维数组 (n*n) ,写程序实现从右上角到左下角沿主对角线方向打印。(注:主对角线方向为从左上角指向右下角这一斜线的方向)

给定一个二位数组 arr 及题目中的参数 ,请返回结果数组。     数据范围: 1 \le n \le 300 \1≤n≤300 
 1 import java.util.*;
 2 
 3 public class Printer {
 4     public int[] arrayPrint(int[][] arr, int n) {
 5         // write code here
 6         int[] ans=new int[n*n];
 7         int index=0;
 8         int d=n-1;
 9         for (int i=0;i<n;i++){
10             for (int x=0;x<=i;x++){
11                 
12                if (x+d<n) {
13                     ans[index]=arr[x][x+d];
14                     index++;
15                }
16             }
17             d--;
18             if (d<0) break;
19         }
20         for (int i=1;i<n;i++){
21             for (int x=i;x<n;x++){
22                 if (x+d>=0){
23                     ans[index]=arr[x][x+d];
24                     index++;
25                 }
26             }
27             d--;
28             if (-d>=n) break;
29         }
30         return ans;
31     }
32 }

思路:数组模拟,分为上半区和下半区。

标签:index,arr,12,2022,真题,int,300,数组,ans
来源: https://www.cnblogs.com/benbicao/p/16367985.html