首页 > 代码库 > pascals-triangle-i

pascals-triangle-i

//找规律 temp.add(res.get(i - 1).get(j) + res.get(i - 1).get(j + 1))

public class PascalsTriangle
{
    public ArrayList<ArrayList<Integer>> generate(int numRows)
    {
        ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
        ArrayList<Integer> item1 = new ArrayList<Integer>();
        ArrayList<Integer> item2 = new ArrayList<Integer>();
        item1.add(1);
        item2.add(1);
        item2.add(1);
        if (numRows == 0)
        {
            return res;
        }
        else if (numRows == 1)
        {
            res.add(item1);
        }
        else if (numRows == 2)
        {
            res.add(item1);
            res.add(item2);
        }
        else
        {
            res.add(item1);
            res.add(item2);
            for (int i = 2; i < numRows; i++)
            {
                ArrayList<Integer> temp = new ArrayList<Integer>();
                temp.add(1);
                for (int j = 0; j < i - 1; j++)
                {
                    temp.add(res.get(i - 1).get(j) + res.get(i - 1).get(j + 1));
                }
                temp.add(1);
                res.add(temp);
            }
        }

        return res;
    }
}

pascals-triangle-i