118

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:

输入: 5

输出:

[

    [1],

    [1,1],

  [1,2,1],

  [1,3,3,1],

[1,4,6,4,1]

]

思路:每行的第一个和最后一个为1,每行中间的都是上一个[j-1]+[j]。每行个数都是行数。

vector> generate(int numRows) {

        vector> ve(numRows);

        if(numRows == 0)

            return ve;

        for(int i = 0;i < numRows;i++)

        {

            for(int j = 0;j <= i;j++)

            {

                if(j == 0 || j == i)

                    ve[i].push_back(1);

                else

                    ve[i].push_back(ve[i-1][j-1]+ve[i-1][j]);

            }

        }

        return ve;

    }

你可能感兴趣的:(118)