Pascal's Triangle(java版)

来源:互联网 发布:linux vi命令保存退出 编辑:程序博客网 时间:2024/06/12 01:35

Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,
Return

[     [1],    [1,1],   [1,2,1],  [1,3,3,1], [1,4,6,4,1]]

帕斯卡三角

找规律

1、第k层有k个元素

2、每层第一个元素及最后一个元素都是1

3、对于k(k>2)层第n(n>1&&n<k)个元素A[k][n],A[k][n]=A[k-1][n-1]+A[k-1][n]

代码如下:

public class Generate {    public static void main(String[] args) {        int numRows=3;        Generate generate=new Generate();        System.out.print(generate.generate(numRows)+"\n");    }    public List<List<Integer>> generate(int numRows) {        List<List<Integer>> allrows = new ArrayList<List<Integer>>();        ArrayList<Integer> row = new ArrayList<Integer>();        for(int i=0;i<numRows;i++)        {            row.add(0, 1);            for(int j=1;j<row.size()-1;j++)                row.set(j, row.get(j)+row.get(j+1));            allrows.add(new ArrayList<Integer>(row));        }        return allrows;}}

0 0