杨辉三角的每行数字左右对称,由 1 开始逐渐变大再变小,并最终回到 1
class Solution
{
public:
vector<vector<int>> generate(int numRows)
{
vector<vector<int>> ve(numRows);
for (int i = 0; i < numRows; ++i)
{
for (int j = 0; j <= i; ++j)
{
ve[i].resize(i + 1);
if (j == 0 || j == i)
{
ve[i][j] = 1;
}
else
{
ve[i][j] = ve[i - 1][j] + ve[i - 1][j - 1];
}
}
}
return ve;
}
};
int main()
{
Solution A;
vector<vector<int>> ve = A.generate(5);
return 0;
}
时间复杂度:O(numRows^2)
空间复杂度:O(1),不考虑返回值的空间占用