时间限制:3秒
空间限制:32768K
热度指数:17006
算法知识视频讲解
题目描述
对于一个矩阵,请设计一个算法,将元素按“之”字形打印。具体见样例。
给定一个整数矩阵mat,以及他的维数nxm,请返回一个数组,其中元素依次为打印的数字。
测试样例:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],4,3
返回:[1,2,3,6,5,4,7,8,9,12,11,10]一开始发现题目都没看懂。什么之字,什么意思?我这个菜鸟。后来又看别人代码才发现是顺序和倒序打印的意思。第一行从左往右,第二行从右往左,第三行从左往右……以此类推import java.util.*; public class Printer { public int[] printMatrix(int[][] mat, int n, int m) { // write code here int[] arr=new int[n*m]; int hang=0; int count=0; for(int i=0;i<mat.length;i++) { for(int j=0;j<mat[i].length;j++) { if(hang%2==0){ arr[count++]=mat[i][j]; } else{ arr[count++]=mat[i][m-j-1]; } } hang++; } return arr; } }