概述
public class CircleArrayTest {
public static int[][] circleArray(int[][] array,int x,int y,int start,int n){
//递归截止条件
if(n <= 0){
return array;
}
//最后一个
if(n == 1){
array[x][y] = start;
return array;
}
//边长为 n-1
int i = x;
int j = y;
//左边: i++, j不变
for (int counter=0; counter < n -1;i++,counter++){
array[i][j] = start++;
}
//下边 i不变,j++,
for (int counter=0; counter < n -1;j++,counter++){
array[i][j] = start++;
}
//右边 i--, j不变
for (int counter=0; counter < n -1;i--,counter++){
array[i][j] = start++;
}
//上边 j--, i不变
for (int counter=0; counter < n -1;j--,counter++){
array[i][j] = start++;
}
//坐标向内移动一圈,继续递归填充数组
return circleArray(array,x+1,y+1,start,n-2);
}
public static void main(String[] args) {
int n = 10;
int[][] dataArray = new int[n][n];
dataArray = circleArray(dataArray,0,0,1,n);
for(int i = 0;i< n; i++){
for( int j =0 ;j < n; j++){
System.out.print(String.format("%02d ",dataArray[i][j]));
}
System.out.println();
}
}
}
最后
以上就是舒服缘分为你收集整理的螺旋矩阵的全部内容,希望文章能够帮你解决螺旋矩阵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复