java回形遍历四维数组_【美团面试】java实现二维数组逆时针回形遍历

思路:(1)

(2)定义一个变量time,记录输出数的个数(初始为0),当所有元素输出结束后,time的值为row*col。此为结束判定条件

public static void main(String[] args){

int a[][] = {

{1,2,3,4},

{5,6,7,8},

{9,10,11,12},

{13,14,15,16},

{17,18,19,20}

};

int time=0; //5行4列,输出顺序为1,2,3,4,8,12,16,20,19,18,17,13,9,5,6,7,11,15,。。

int M=a.length;

int N=a[0].length;

int j=0;

for(int n=0;;n++){

for(j=n;j

time++;

System.out.println(a[n][j]);

}

if(time==M*N)

break;

for(j=n+1;j

time++;

System.out.println(a[j][N-n-1]);

}

if(time==M*N)

break;

for(j=N-n-2;j>=n;j--){

time++;

System.out.println(a[M-n-1][j]);

}

if(time==M*N)

break;

for(j=M-n-2;j>=n+1;j--){

time++;

System.out.println(a[j][n]);

}

if(time==M*N)

break;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值