题解 | #蛇形矩阵#

蛇形矩阵

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

import java.util.Arrays; import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	while (sc.hasNextLine()) {
		String inputStr = sc.nextLine();
		int number = Integer.parseInt(inputStr);

		// 定义一个二维数组
		int[][] dp = new int[number][number];
		
		// 计算每一行的第一个数
		for (int i = 0; i < number; i++) {
			if (i == 0) {
				dp[i][0] = 1;
			} else {
				dp[i][0] = dp[i - 1][0] + i;
			}
		}
		
		// 计算一行中 每列的数
		for (int i = 0; i < number; i++) {
			for (int j = 0; j < number; j++) {
				if (j == 0) {
					dp[i][j] = dp[i][0] + j;
				}else {
					// 主要逻辑在这里要计算每行每列的值
					dp[i][j] = dp[i][j-1] + (i+j+1);
				}
				
			}
		}
		
		for (int i = 0; i < number; i++) {
			for (int j = 0; j < number-i; j++) {
				System.out.print(dp[i][j]);
				System.out.print(" ");
			}
			// 循环完,下一次循环开始之前,要换到下一行
			System.out.println("");
			
		}
	}
}

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务