1. 程式人生 > 其它 >力扣-118-楊輝三角

力扣-118-楊輝三角

118-楊輝三角

瞟了一眼題解,還是繼續動態規劃,狀態轉移方程是:yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];

第i行第j個元素=第i-1行 第j-1個元素+第j個元素

然後程式碼是:

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        // 第n行第i個元素=第n-1行第i-1個元素+第i個元素
        // 那麼這就是狀態轉移方程
        vector<vector<int>> yangHui(numRows,vector<int>());
            for (int i = 0; i < numRows; ++i) {
        yangHui[i] = vector<int>(i+1);
        // yangHui[i].resize(i + 1);
    }
    // 初始化外圍全為1
    yangHui[0][0] = 1;
    if (numRows > 1) {
        for (int i = 1; i < numRows; ++i) {
            yangHui[i][0] = 1;
            yangHui[i][i] = 1;
        }
    }

    for (int i = 2; i < numRows; ++i) {
        for (int j = 1; j < i; ++j) {
            yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];
        }
    }

return yangHui;

    }
};

感覺重點可能是,複習了一下vector的操作吧,題目確實不難,通過率70%+呢

還是,是不是動態規劃的特點啊,感覺空間利用率一直不高