118. 杨辉三角

一、题目

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

二、思路

杨辉三角,是二项式系数在三角形中的一种几何排列。它是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。

三、代码

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> ret(numRows);
        for (int i = 0; i < numRows; ++i) {
            ret[i].resize(i + 1);
            ret[i][0] = ret[i][i] = 1;
            for (int j = 1; j < i; ++j) {
                ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];
            }
        }
        return ret;
    }
};

四、分析

复杂度分析

时间复杂度:O(numRows2)

空间复杂度:O(1)。不考虑返回值的空间占用。

posted @ 2023-03-29 20:03  ImreW  阅读(33)  评论(0)    收藏  举报