我是靠谱客的博主 舒服缘分,最近开发中收集的这篇文章主要介绍螺旋矩阵,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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();
    }

}

}

最后

以上就是舒服缘分为你收集整理的螺旋矩阵的全部内容,希望文章能够帮你解决螺旋矩阵所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部