本身寫的一道經典算法

   剛在瀏覽ITeye論壇時看到這麼一個貼子,深圳公司的一道面試題目,貼子連接爲:http://www.iteye.com/topic/545378#1288681;面試

 

本身也試着寫了個算法,代碼以下:算法

public class test{
    public static int[][] init(int length){
        int[][] arry=new int[length][length];
        int value=1,i=0,j=0;
        for(int p=0;p<(length/2)+(length%2);p++){
            while(j<length-p){
                arry[i][j++]=value++;
            }
            while(i<length-1-p){
                arry[++i][j-1]=value++;
            }
            j--;
            while(j>p){
                arry[i][--j]=value++;
            }
            i--;
            while(i>p){
                arry[i--][j]=value++;
            }
            j++;i++;
        }
        return arry;
    }
    public static void main(String[] args) {
        int[][] arry=init(7);
        for(int x=0;x<arry.length;x++){
            for(int y=0;y<arry[0].length;y++){
                System.out.print(arry[x][y]+"   ");
            }
            System.out.println();
        }
    }
}ide

相關文章
相關標籤/搜索