题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

import java.util.; import java.io.;

public class Main{

    public static void main(String[] args) {

    final InputStreamReader reader = new InputStreamReader(System.in);
    try (final BufferedReader br = new BufferedReader(reader)){

        final int size = Integer.parseInt(br.readLine());

        int addVertical_size = 1;
        int addHorizon_size = 2;
        int[] startNumbers = new int[size];
        int startNumber = 0;


        final StringBuffer sb = new StringBuffer();

        //初始化每行首位数字
        for (int i=0 ; i<size ;i++){
            if (i ==0) startNumbers[i] = 1;
            else {
                startNumbers[i] = startNumbers[i-1] + addVertical_size;
                addVertical_size++;
            }
        }

        for (int i =0; i<size ;i++){
            startNumber = startNumbers[i];
            for (int j = 0; j<size-i ;j++ ){
                sb.append(startNumber);
                startNumber =startNumber + addHorizon_size+i;
                if (j == size-1-i) sb.append('\n');
                else sb.append(" ");
                addHorizon_size++;
            }
            addHorizon_size=2;
        }

        System.out.println(sb);
    }catch (IOException e){
        System.out.println(e.getMessage());
    }

}

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务