剑指:顺时针打印矩阵

顺时针打印矩阵

http://www.nowcoder.com/questionTerminal/9b4c81a02cd34f76be2659fa0d54342a

题目:顺时针打印矩阵
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

思路:每次存入第一行,然后将数组去掉第一行后,逆时针旋转90度,继续存入第一行。

代码:
import java.util.ArrayList;
public class Solution {
public ArrayList<integer> printMatrix(int [][] matrix) {
ArrayList<integer> arrayList=new ArrayList<>();
while(matrix!=null) {
for(int i=0;i<matrix[0].length;i++) {
System.out.println("hh"+matrix[0][i]);
arrayList.add(matrix[0][i]);
}
matrix=newMatrix(matrix);
}
return arrayList;
}
private int[][] newMatrix(int[][] matrix) {
int row=matrix[0].length;
int cos=matrix.length-1;
if(cos==0) {
return null;
}
int [][]m=new int[row][cos];
for(int i=1;i<matrix.length;i++) {
for(int j=0;j<matrix[0].length;j++) {
m[row-j-1][i-1]=matrix[i][j];
}
}
return m;
}
}</integer></integer>

全部评论

相关推荐

03-18 09:45
莆田学院 golang
牛客749342647号:佬,你这个简历模板是哪个,好好看
点赞 评论 收藏
分享
落叶随风呀:学校不好就放两栏,专业能力往前移, 政治面貌不是党员不如不写,籍贯湖南衡阳,或者湖南,浅尝辄止 基本信息排版不够美观,没有对齐 简历上花里胡哨的东西去掉 项目我不评价,因为我能力有限,且对mcu了解不足 但是这份简历掌握的水平,你可以海投试试,工作没问题但是工资应该不会高,因为搞mcu的小公司多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务