顺时针打印矩阵
来源:互联网 发布:尤克里里和吉他知乎 编辑:程序博客网 时间:2024/06/12 07:40
题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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.
Java实现:
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> al=new ArrayList<Integer>();
if(matrix==null)
return al;
int start=0;
int raw=matrix.length;
int colume=matrix[0].length;
while(start*2<raw&&start*2<colume)
{
int endRaw=raw-1-start;
int endColume=colume-1-start;
//从左到右打印
for(int i=start;i<=endColume;i++)
{
al.add(matrix[start][i]);
}
//从上到下打印
if(start<endRaw)
{
for(int i=start+1;i<=endRaw;i++)
{
al.add(matrix[i][endColume]);
}
}
//从右到左打印
if(start<endColume&&start<endRaw)
{
for(int i=endColume-1;i>=start;i--)
{
al.add(matrix[endRaw][i]);
}
}
//从下到上打印
if(start<endRaw-1&&start<endColume)
{
for(int i=endRaw-1;i>start;i--)
{
al.add(matrix[i][start]);
}
}
start++;
}
return al;
}
}
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 矩阵顺时针打印
- 顺时针打印矩阵
- 顺时针打印矩阵[算法]
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- reverse()
- hive二种连接方式
- DPM(Deformable Parts Model)--原理(一)
- go语言入门必备
- 简述复权的计算
- 顺时针打印矩阵
- Javascript逻辑运算的返回值
- 【JavaSE学习笔记】IO流06_其他常用流(基本数据类型流、内存操作流、打印流、标准流、随机访问流、合并流、序列化与反序列化流)、属性集合类Properties
- POJ-1066Treasure Hunt(计算几何线段相交)
- Machine Learning7集成学习(一种高效的学习方法)
- 【Computer】第一次机房收费系统——配置流程(一)
- hdu 6096
- whoosh学习
- hdu6095 Rikka with Competition 2017多校第五场 贪心+思维