您的位置:首页 > 职场人生

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

2014-09-18 15:30 1101 查看
思路:(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<N-n;j++){
time++;
System.out.println(a
[j]);
}
if(time==M*N)
break;

for(j=n+1;j<M-n;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]
);
}
if(time==M*N)
break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐