题解 | #杨辉三角#

杨辉三角

http://www.nowcoder.com/practice/e671c6a913d448318a49be87850adbcc

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
// 定义二维数组。
        int[][] array = new int[n][];
        for (int i = 0; i < n; i++) {
// 为最高维分配引用空间。
            array[i] = new int[i + 1];
// 每行的端点数为1,一个数也为1。
            array[i][0] = array[i][array[i].length - 1] = 1;  if (i > 1) {
                for (int j = 1; j < i; j++) {
// 每个数等于它左上方和上方两数之和。
                    array[i][j] = array[i - 1][j - 1] + array[i - 1][j];
                }
            }
        }
// 输出:打印数组内容
        System.out.print(printArr(array, n));
    }

    /**
     * @param arr
     * @param row
     * @return
     */
    public static String printArr(int[][] arr, int row) {
// 字符串容器
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < row; i++) {
            for (int j = 0; j <= i; j++) {
// 字符串拼接,域宽为5。
                sb.append(String.format("%5d", arr[i][j]));
            }
// 换行
            sb.append("\n");
        }
// 转字符串类型
        return sb.toString();
    }
}

全部评论

相关推荐

07-09 18:28
门头沟学院 Java
写着提前批,结果还要实习4个月以上???
程序员牛肉:这种不用看,直接投了,面试的时候问对应的HR就行。有可能他们是直接复制的暑期实习的模板。
点赞 评论 收藏
分享
这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务